Sound effect OXPs
Moderators: winston, another_commander
-
- ---- E L I T E ----
- Posts: 591
- Joined: Sun Jul 12, 2015 2:30 pm
- Location: Bavaria, Germany
- Contact:
Re: Sound effects
I've never worked with timers, but the BGS OXP seems to call it every 0.6 seconds, that's 100 times per minute. It could check if the speed has changed since the last call and change the volume (it probably does this already somehow for playing the accelerating or decelerating sounds).
Norby, please don't tell me that you did this including the wiki page in the last few minutes! I'll download it immediately!
Norby, please don't tell me that you did this including the wiki page in the last few minutes! I'll download it immediately!
"You wouldn't kill me just for a few credits, would you?" – "No, I'll do it just for the fun!"
- Cody
- Sharp Shooter Spam Assassin
- Posts: 16081
- Joined: Sat Jul 04, 2009 9:31 pm
- Location: The Lizard's Claw
- Contact:
Re: Sound effects
<chortles> He's good at that, is Norby!Fritz wrote:Norby, please don't tell me that you did this including the wiki page in the last few minutes!
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
And any survivors, their debts I will certainly pay. There's always a way!
- Norby
- ---- E L I T E ----
- Posts: 2577
- Joined: Mon May 20, 2013 9:53 pm
- Location: Budapest, Hungary (Mainly Agricultural Democracy, TL10)
- Contact:
Re: Sound effects
No, it was about an hour. It needed 25 sound files and a script with about 30 lines. A dual-timer which make 8 changes/second seems enough to emulate a continuous sound.Fritz wrote:please don't tell me that you did this including the wiki page in the last few minutes!
-
- ---- E L I T E ----
- Posts: 591
- Joined: Sun Jul 12, 2015 2:30 pm
- Location: Bavaria, Germany
- Contact:
Re: Sound effects
I know people who would need around 50 edits to create a wiki page like this...
What you did is a very good start! Strangely the effect is even better when I play the different files with Winamp, because in Oolite there is a slight "switching" sound with each change, but perhaps this can be eliminated somehow by changing the timing of starting and stopping a sound. And I'm still trying to figure out why you use two timers.
There seems to be an issue with torus speed (the sound changes in a strange way and then stops completely) but that should be easy to find. One approach would be to not use the speed value directly but a percentage of max speed, so that there is no sudden change from, let's say, sound 17 to sound 25. And slower ships could use the whole set of files in this case.
Btw, what software did you use for changing the speed of the sound files?
What you did is a very good start! Strangely the effect is even better when I play the different files with Winamp, because in Oolite there is a slight "switching" sound with each change, but perhaps this can be eliminated somehow by changing the timing of starting and stopping a sound. And I'm still trying to figure out why you use two timers.
There seems to be an issue with torus speed (the sound changes in a strange way and then stops completely) but that should be easy to find. One approach would be to not use the speed value directly but a percentage of max speed, so that there is no sudden change from, let's say, sound 17 to sound 25. And slower ships could use the whole set of files in this case.
Btw, what software did you use for changing the speed of the sound files?
"You wouldn't kill me just for a few credits, would you?" – "No, I'll do it just for the fun!"
- Norby
- ---- E L I T E ----
- Posts: 2577
- Joined: Mon May 20, 2013 9:53 pm
- Location: Budapest, Hungary (Mainly Agricultural Democracy, TL10)
- Contact:
Re: Sound effects
I am afraid I can not fix this. I tried more ways but none helped.Fritz wrote:there is a slight "switching" sound with each change
Because the minimal allowed interval of a Timer is 0.25s which is not enough seamless.Fritz wrote:why you use two timers.
I use the speed value willfully, in this way the sound at max. speed in an Anaconda will be much lower than in a Cobra. A check of torusEngaged solved the problem in Engine Sound v1.1, thanks for spotting.Fritz wrote:to not use the speed value directly but a percentage of max speed
Audacity. I created this table to determine the steps of conversion:Fritz wrote:what software did you use for changing the speed of the sound files?
Code: Select all
tone % file ship.speed
-24 -75 1 1
-23 -73,513 2 20
-22 -71,938 3 40
-21 -70,27 4 60
-20 -68,502 5 80
-19 -66,629 6 100
-18 -64,645 7 120
-17 -62,542 8 140
-16 -60,315 9 160
-15 -57,955 10 180
-14 -55,455 11 200
-13 -52,806 12 220
-12 -50 13 240
-11 -47,027 14 260
-10 -43,877 15 280
-9 -40,54 16 300
-8 -37,004 17 320
-7 -33,258 18 340
-6 -29,289 19 360
-5 -25,085 20 380
-4 -20,63 21 400
-3 -15,91 22 420
-2 -10,91 23 440
-1 -5,613 24 460
0 0 25 480 <-- this is the original file from BGS.
Last edited by Norby on Sat Dec 05, 2015 12:53 am, edited 1 time in total.
- Cody
- Sharp Shooter Spam Assassin
- Posts: 16081
- Joined: Sat Jul 04, 2009 9:31 pm
- Location: The Lizard's Claw
- Contact:
Re: Sound effects
Audacity is good stuff.
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
And any survivors, their debts I will certainly pay. There's always a way!
-
- ---- E L I T E ----
- Posts: 591
- Joined: Sun Jul 12, 2015 2:30 pm
- Location: Bavaria, Germany
- Contact:
Re: Sound effects
Meanwhile I've learned from the wiki that the timer limit is 0.25. I wonder, why. I tried it with this value but as you said, it isn't seamless enough. And I too tried several ways to prevent the switching sound (e.g. reducing volume to 0 before changing anything). But it isn't really bad, just imagine the thrust lever making some scraping sound...
I'm playing around with a version that uses sound #1 as a standby sound (with reduced volume) and the sounds #2 to #25 for normal speeds. For torus driving and injector use I keep the sound at #25, so there is no "step", but I've added the accelerating and decelerating sounds from the BGS OXP for engaging and disengaging torus drive. It's not sounding bad in my opinion, but I'll try to use torusEngaged because the sound effects are a little bit too late the way I did it (by just checking speed > 8*maxSpeed).
I'm playing around with a version that uses sound #1 as a standby sound (with reduced volume) and the sounds #2 to #25 for normal speeds. For torus driving and injector use I keep the sound at #25, so there is no "step", but I've added the accelerating and decelerating sounds from the BGS OXP for engaging and disengaging torus drive. It's not sounding bad in my opinion, but I'll try to use torusEngaged because the sound effects are a little bit too late the way I did it (by just checking speed > 8*maxSpeed).
"You wouldn't kill me just for a few credits, would you?" – "No, I'll do it just for the fun!"
- Amah
- ---- E L I T E ----
- Posts: 486
- Joined: Tue Aug 28, 2012 8:05 pm
- Location: aboard the Laenina Crowne - Yasen-N class space freighter
- Contact:
Re: Sound effects
interesting discussion.
@norby nice oxp. I'll keep it
@norby nice oxp. I'll keep it
Amah
- about Amah: wiki
- noshaders versions of Griff's extra, alternate ships and accessories: discussion, wiki
- ocpc - customize the player ship: discussion, oxp repository
-
- ---- E L I T E ----
- Posts: 591
- Joined: Sun Jul 12, 2015 2:30 pm
- Location: Bavaria, Germany
- Contact:
Re: Sound effects
I have no idea anymore how to solve the switching sound problem...
I have tried almost everything, including playing two or even three SoundSource objects alternately and/or delaying the stopping of the old sound by one timer cycle (1/8 s), so for a short time two sounds were playing together. So it seemed that the switching sound is caused simply by starting a sound and not by starting the new sound immediately after stopping the old one.
So I tried a completely different approach, probably not very good from a resource management perspective, but on my computer it didn't affect performance in any measurable way: I created an array of 25 SoundSource objects and initialised and play them all (with volume 0) during startup. Speed changes now only change the volume, so there is no starting and stopping of sounds anymore. But even now, the switching sound effect is (almost?) identical to the original one.
Btw, you can create interesting sound effects by playing two or more of the sounds together, like two engines or other equipment running at slightly different rpm!
I have tried almost everything, including playing two or even three SoundSource objects alternately and/or delaying the stopping of the old sound by one timer cycle (1/8 s), so for a short time two sounds were playing together. So it seemed that the switching sound is caused simply by starting a sound and not by starting the new sound immediately after stopping the old one.
So I tried a completely different approach, probably not very good from a resource management perspective, but on my computer it didn't affect performance in any measurable way: I created an array of 25 SoundSource objects and initialised and play them all (with volume 0) during startup. Speed changes now only change the volume, so there is no starting and stopping of sounds anymore. But even now, the switching sound effect is (almost?) identical to the original one.
Btw, you can create interesting sound effects by playing two or more of the sounds together, like two engines or other equipment running at slightly different rpm!
"You wouldn't kill me just for a few credits, would you?" – "No, I'll do it just for the fun!"
- Norby
- ---- E L I T E ----
- Posts: 2577
- Joined: Mon May 20, 2013 9:53 pm
- Location: Budapest, Hungary (Mainly Agricultural Democracy, TL10)
- Contact:
Re: Sound effects
Yes, I tried these also, plus some other tricks like using FCB instead of timer for smoother volume changes and totally silent sound files but the scraping remains.
Maybe interesting that there is scraping in my machine when I use the mouse wheel to make fast up-down changes on the master volume tool in my taskbar while either Oolite make a constant engine noise or I play these sound files with a media player, but nothing similar if I play anything else.
Maybe interesting that there is scraping in my machine when I use the mouse wheel to make fast up-down changes on the master volume tool in my taskbar while either Oolite make a constant engine noise or I play these sound files with a media player, but nothing similar if I play anything else.
Last edited by Norby on Sat Dec 05, 2015 2:16 pm, edited 1 time in total.
Re: Sound effects
Kudos to norby.
@fritz: Define soundswitching problem further. I know it isn't simple but please try.
- Do you mean a light crackle (knistern) when changing speed? Like a slide clack, as If you plugged in a connector, when you start the soundfile? I found that fading-in and fading-out at the beginning and end of a soundfile, even if only the first and last few ms, help to get rid of that clack. It might reduce the crackle to. But I fear one has to edit the oggs and not fase them in and out via OXP script.
- Or do you mean gaps in between the sounds? Well, you already did let them overlap. That's what I would have suggested to do.
@fritz: Define soundswitching problem further. I know it isn't simple but please try.
- Do you mean a light crackle (knistern) when changing speed? Like a slide clack, as If you plugged in a connector, when you start the soundfile? I found that fading-in and fading-out at the beginning and end of a soundfile, even if only the first and last few ms, help to get rid of that clack. It might reduce the crackle to. But I fear one has to edit the oggs and not fase them in and out via OXP script.
- Or do you mean gaps in between the sounds? Well, you already did let them overlap. That's what I would have suggested to do.
-
- ---- E L I T E ----
- Posts: 591
- Joined: Sun Jul 12, 2015 2:30 pm
- Location: Bavaria, Germany
- Contact:
Re: Sound effects
It is a slight crackling (Knacken in German) like changing volume on an old radio. No gaps.
The first thing I tried yesterday was actually to keep the volume unchanged and use only .play() and .stop(), because I remember that changing volume caused a crackling problem on the C-64 SID sound chip. But it doesn't help here. I also tried to use volume = 0.01 instead of volume = 0, but it doesn't help either.
The starting or ending milliseconds of the sound files can't be the problem because they were playing continuously on my 25-object-array version and each one has a different length. As far as I can hear it there is no or almost no noise when the sound files loop.
So I really have run out of ideas...
Edit: One more idea: Perhaps is using the keyboard for changing thrust causing the problem... perhaps I'll try to somehow change speed by code.
The first thing I tried yesterday was actually to keep the volume unchanged and use only .play() and .stop(), because I remember that changing volume caused a crackling problem on the C-64 SID sound chip. But it doesn't help here. I also tried to use volume = 0.01 instead of volume = 0, but it doesn't help either.
The starting or ending milliseconds of the sound files can't be the problem because they were playing continuously on my 25-object-array version and each one has a different length. As far as I can hear it there is no or almost no noise when the sound files loop.
So I really have run out of ideas...
Edit: One more idea: Perhaps is using the keyboard for changing thrust causing the problem... perhaps I'll try to somehow change speed by code.
"You wouldn't kill me just for a few credits, would you?" – "No, I'll do it just for the fun!"
Re: Sound effects
If that keyboard idea shouldn't work out, could you upload your OXP (without the keyboard modifications if not necessary)?
-
- ---- E L I T E ----
- Posts: 591
- Joined: Sun Jul 12, 2015 2:30 pm
- Location: Bavaria, Germany
- Contact:
Re: Sound effects
Which one? I've tried many things, and I haven't kept every version. I'm currently working on a version that uses only one SoundObject, like Norby's original version, but I should still have one of the array versions too.
"You wouldn't kill me just for a few credits, would you?" – "No, I'll do it just for the fun!"
Re: Sound effects
The array version one sounds interesting and still has that problem, so that one.