Language…
13 users online:  AmperSam, dotCoockie, Golden Yoshi, itsmefigs, JezJitzu,  MarioFanGamer, Maw, PMH, Serena, signature_steve, Sparkz314, timothy726, toady - Guests: 258 - Bots: 311
Users: 64,795 (2,377 active)
Latest user: mathew

needs some help for music installation

I want to add music below in my rom with AddmusicK.
This music is for AddmusicM, so I just modified little bit.
But it seems some error occurs and it says Echo buffer exceeded total space in ARAM.
I try changing #default to #optimized but nothing changed.
Since there are few $F1,I cant get where to change.
please let me know if u know something.

link
https://bin.smwcentral.net/u/40151/four%2Bnoble.zip
Because of the size of the samples and the echo you'll need to reduce the echo in the song.

The echo set command is on line 33 in the text file: $F1 $04 $52 $01

Lower the highlighted byte until it inserts properly. If you're still having trouble let us know!
thank you for the reply!
I just changed it 00,but it gets weird (especially channel #0)
I put it back to #default and then it says Echo buffer exceeded total space in ARAM.

please let me know if you have noticed anything.
It is important when you see the insertion failure to note how many bytes audio RAM overflows by, because reducing the insertion size of the total song data and samples will make it work. If it's not an obscene number of bytes, you should be able to get an echo in with some diligence. The #optimized sample bank will use less space than the #default sample bank. Keep the echo delay at $04 and insert at this point just to see how much AddMusicK is telling you it's overflowing by to know if it's worth the effort. You can also eliminate a few samples (distortion guitar, piano, and steel drum are big samples that, if you can get rid of, will free up a good chunk of audio RAM) if you know they aren't needed by sound effects in the level by making a new bank definition in "Addmusic_sample group.txt" using samples from the optimized folder (copy and rename the #tag for the #optimized copy you will use,) but replacing unneeded stuff with "EMPTY.brr"

I do not know if the AddMusicM parser will automatically try to optimize strings of ties but the AddMusicK parser will and I don't see any hex commands AddMusicM programs differently from AddMusicK in this text (could be wrong) so it should be fine to replace instances outside the #samples{} with "#amk 2" to see if that reduces insertion size.

If the above isn't enough to enable use of echo with a healthy delay but you're really close now, proceed with the manual labor:

A quick glance through the text tells me that space can be saved in the percussion channels by merging rests into the audible note and using quantization (q## - first # is audio duration 0-7 within note, second # is a fraction of the channel volume the note plays at (0-F, best leave at F in this case) command to properly cut the audio short in the duration. Likewise, some bytes can be shaved off in a string section where many notes have a sixteenth note for a rest. There is also opportunity in the percussion channels to improve the looping: some stuff is so obsessive-compulsively looped that it's actually making the song bigger in parts (e.g. the call loops for a single note plus a rest.) I'd unroll these loops to make a clean slate to re-optimize it since if you intend to merge rests and use quantization, the channel is going to look very different and smaller anyways.

Keep a backup in a tab of your text editor so you can easily revert back to a version you know sounds good if you make some error in all this data modification without losing all your work.

Just look above you...
If it's something that can be stopped, then just try to stop it!
Originally posted by August77
thank you for the reply!
I just changed it 00,but it gets weird (especially channel #0)
I put it back to #default and then it says Echo buffer exceeded total space in ARAM.

please let me know if you have noticed anything.


Have you tried changing the bytes to $03, $02 or $01? The port will sound strange regardless but if you can get it above $00 it'll sound much better.
thanks for the reply!
First,i can only change $F1 to 01 but it changes little.
I found that AMK says $FA command in line 32 was ignored,so I eliminated it. And then, it seems working except lead part (it sounds very weird)
Also,I tried #amk 2,but then the song stops in the middle,so I use #amm now.
please let me know if you have any idea.
Also, i would like to know alternate of $FA command, so let me know too.
I've noticed that line probably has a problem.

Code
"Lead=$F3$04$04 $EE $00 $ED $7F $E0 h12 $DE$00$09$30"


But since i don't know about $F3 command in AMM,I cant figure out where exactly the point is.

Dose anyone solve this?
Fanatical like a Demon
Converted the port to amk. In a sec I'll edit this post with some info answering a few questions so I don't get ninja'd.

So basically amm didn't have an instruments table on a per song basis like amk does so to call samples and adsr you'd make some macros and fill in all you'd wanted for calling instruments. So in the example Lead:

Code
"Lead=$F3$04$04 $EE $00 $ED $7F $E0 h12 $DE$00$09$30"


The $f3 $xx $yy command loads and tunes a sample. XX is the sample to load and yy is the multiplication pitch. Works exactly the same in amk (most amm commands work exactly the same in amk).

The $ee $xx is a tuning command where ofc xx tunes the pitch subtly.

The $ed $xx $yy is the adsr command which pretty much works like in #instruments -$80 for the xx.

The hxx command transposes the notation by semitones (not to confuse with $fa $02 $xx which transposes pitch whereas hxx literally changes note data).

Thee macros all used commands to set up sample load, pitch, and adsr (some used enable vibrato and disable vibrato commands) to save the time for typing it out everytime so for the conversion I got rid of those and used the #instruments command and manually redid everything. For the ARAM error I had to lower the echo delay by 1 as well as had to remove the 4 smw samples, 2 not used by any global music or sfx, and 2 others which are the orchestra hit and thunder sample so if used you can't use the thunder sfx and if yoshi is used, hopping on him will play a messed up sfx. There wasn't any other way without further messing with the echo delay. I did some slight tweaking with the volume to match the amm port but it can't be 1:1 bc of how amk handles the velocity table. I also corrected the echo volume level so now you can actually hear the echo more clearly like in the original song (the amm port had it wrong). Last but not least I did a vibrato edit. It may not be 1:1 but it's closer to what the original used. AMM had the PWM command which amk doesn't have so replicating the exact way thee amm port did it is impossible atm until someeone codes that into amk. The song should now insert without any problems, no need to edit anything unless the mentioned inconveniences bother you in which case best of luck organizing the samples lol.
Major thanks to Suika Ibuki for layout!
I'm open for music requests, just DM me on discord and we can further discuss there.
SMAS Soundtrack Status: 100% finished
YI Soundtrack Status: 100%
YI Unsampled Soundtrack Status: 100%
NSMB Soundtrack Status: 7.89%
Killer Instinct Soundtrack Status: 14.63%
SPC Thread
From our family to you, keep your pants dry, your dreams wet, and remember, hugs not drugs.
Thanks a lot!
It finally worked!