understanding sound priorities

red moon

Member
I have a rather general question about best sound practices. I’ve been able get all my sounds and songs into the game and setup properly but they seem to prevent other sounds from playing.

For example levels 1-4 level theme song is pulse 1 and pulse 2. collect is triangle and enemy death noise. this seems to work well for the most part.

levels 5-8 level theme song pulse 2 and triangle. collecting anything knocks out the triangle channel on the song.
the same thing happens with 9-12. different song but the same issue. i ran some tests cutting the sound and adding a blank instrument and it still persists. i tried a couple different things moving the channel of the pickup sound which seems to favor being in the noise channel as it does not interrupt any music but breaks the enemy death sound trigger.
i did read the post about correct sound construction and i must be missing something. thanks!
 

Raftronaut

Member
It's likely that your sound effects are not set up correctly.

In order to make a smooth transition from the effect BACk to the music, you'll need to make sure your LAST NOTE of the effect is a special instrument with volume set to ZERO..

In the music section of the forum, Cuttercross breaks down what He calls the "silent instrument", personally I call this the blank instrument. this instrument is necessary to make the transition from playing the effect, then cycling BACK to playing music
 

Raftronaut

Member
Here is a little visual example I put together,

The blank instrument must have a volume envelope that looks like this:
blank instrument.PNG

Note how the size=one but volume =zero:
highlight blank.PNG

This is what the blank instrument should look like.

Now in the context of your sound effect, make sure it is labeled sfx_label
It should look like this, notice how instrument 09 is labeled as blank and is the LAST NOTE IN THE FRAME.

sfx.PNG
this will ensure that GGsound recognizes the sound effect is done playing and reverts back to playing music


This should do it for you. Let me know if you have any other trouble :) good luck
 

red moon

Member
Raft, I went ahead and added the silent instrument set like this to each sfx sound and still experience the issue with sfx_bonepickup. I ill add the fami txt file here. Would you mind looking at the fx instruments?
Thank you!
 

Attachments

  • soundsilent.jpg
    soundsilent.jpg
    615.3 KB · Views: 923

red moon

Member
https://drive.google.com/open?id=1lP-4HHX11xF068a6H0wiw0maBFnN2Iv4

This is the fami file. Thanks again!
 

Raftronaut

Member
One thing I notice right away is that your dual channel sound effects only have blank instrument "stops" on one of the two channels..
both the sfx_PLayerDeath , and sfx_burning will need to have stops placed on both channels in order to successfully rotate back to music instead of play a continuous loop of that sound effect frame.

I fixed your famitracker text, but couldn't figure out how to attach it to the thread.

I can try again in the morning, but I am fairly certain adding the extra stops to these two sounde ffects will fix it.
 

red moon

Member
Ah, I wondered about that when considering dual tracks. I went ahead and added silence to those two sfx late last night after reading your post and still had the same results. I could upload the project for you this evening once I am home from work....
 

Raftronaut

Member
I'll take another look at your famitracker file this morning, and I'll also upload a text file to my drop box and link it here. Unfortunately I am away from Nesmaker currently (although not famitracker). So I am not able to test in nesmaker for results.

Also, you may need to use the fami text converter if problems persist.

But first, let me comb through it. Let me see what I can find :)
 

Raftronaut

Member
I think this dropbox link should have the corrected fami text file.

I corrected the dual channel effect stops and shaved off the unneeded extra rows.

Your songs have a lot of empty space in them, you're not using the noise channel in your music at all. I am unsure how this affects performance in Nesmaker (my soundtracks are densely packed on all 4 channels) Soooooo what I have done is added note cuts to the beginning of the channels that are not being used in the songs. In case this was causing any trouble, it should now be corrected.

https://www.dropbox.com/s/qb4pwpzefsjtcqe/LostSouls.txt?dl=0

My URL's rarely work, you'll likely have the copy/paste the above into your browser to download the text file.. dunno why

I might also suggest, since you have so much empty space in your songs, you could dedicate it to sound design tricks, 2 channel echo (using the second square channel to play an echo of the first).

Anyway, let me know if this works when you test it. If it still does not work, would you be able to make a video of the error and upload to youtube?

(I use the AVI capture from FCEUX and feed it into a program called "handbrake" to compress it for streaming. Then upload it to youtube and link to it here in the forums..... )
 

red moon

Member
Hey Raft. checking it out right now, thank you for looking at the file in such detail. And I will be using more noise in the future, I was not sure at the time whether or not all tracks would be able to play with other sounds triggering! Now that I know that they can I will fell them up more for sure. I will be right back with an update!
 

red moon

Member
I imported your version into famitrack to looked at the edits. It seems necessary to silence unused channel for songs but not for sfx then?

Your edits brought the file size down as well which is great. I ran the game and found that the sounds all work now but there is still a bit of interrupt right after an object is grabbed. I captured moving from level 4 to 5 here so you could see and hear it when in the cemetery level.

https://www.youtube.com/watch?v=8ynAM1Ld31o
You can hear it best at 0.17+
 

red moon

Member
Its a huge improvement, and It seems that other sounds placed in that slot (especially the noise based ones) do not create the same issue.
 

Raftronaut

Member
Ahh glad it worked!

There is a better and more accurate way to import your music that you may benefit from here. When I have a moment I will link you to the previous discussion on the thread. Otherwise you can mess with where the stops are in the dual channel effects. This are the ones that generally leave the audio artifacts.

Looking forward to playing this demo with the full sound :)
 

red moon

Member
That would be great, i am very interested in better ways of working with the sound aspects of the engine!
ill keep an eye out for your link then.
 

Raftronaut

Member
I did a little digging and I cannot find the thread.

Basically, someone here wrote a python script to convert the fami text into an .asm dile that nesmaker could read which fixed a lot of the sound engine issues of previous versions of nesmaker. I do have the python script, but it does not seem work for me in Nesmaker 4.1.5.
Likely this script is no longer relevant to the newest version.

SO, other fixes to your problem.. I had a similar issue with DUAL CHANNEL effects, if using the triangle channel along with the noise channel, the TRI would squeal if left on longer than the noise channel. No idea why it happened, but I solved it by chopping the triangle channel before the noise was finished sounding. This fixed it completely.

Again, I am not entirely certain what causes this, maybe due to GGsound or Nesmaker getting confused when using Dual channel effects..
My advice would be to play with the note lengths on the two channels. See if you can find a happy medium.

I wish I had a better solution for you, but only have to offer what has already come up in my tests..

Let me know if that makes any sense, I would be happy to clarify if need be
 

Mugi

Member
the python script is the official GGsound converter that is available in GGsound's github page.
the "fix" was simply someone took the python script and compiled it into a windows exe, so that you dont need python to run it.

the original thread is here: http://nesmakers.com/viewtopic.php?f=39&t=1919
 

Raftronaut

Member
Mugi said:
the python script is the official GGsound converter that is available in GGsound's github page.
the "fix" was simply someone took the python script and compiled it into a windows exe, so that you dont need python to run it.

the original thread is here: http://nesmakers.com/viewtopic.php?f=39&t=1919

Ah yes, I was foggy on the details. Also, I am completely ignorant of python scripts, so I was simply recalling layers of abstraction.

Anyway, after the last nesmaker update I no longer had any issues with inverted noise arps So I stopped using it.

Are you aware of any benefits to using it that I may be unaware of?
 

Mugi

Member
no idea really.
im stuck using 4.1.4 for now so i do still need it myself, and im not aware of what actually changed with further versions.
 

red moon

Member
Thanks for weighing in and you’ve been very helpful. I replaced that sound in my recent tests with a variation and it works fine. Like you stated before, it’s a pulse channel combined with the triangle that seems to be the issue. Something for me to keep in mind when creating the next couple demo tests...
 

Raftronaut

Member
Awesome :)
glad you got it with a little trial/error

Quite a few quirks to factor in, but once you get the hang of it, you'll be flying..
 
Top Bottom