Originally posted by Hooded EdgeDo note that I did replace the original samples with custom samples, so I might try to fix that soon if I ever plan on uploading this to here..
Personally, if you ask me, there aren't enough music using custom samples and I've a distaste hearing SMW music/instruments in hacks, moreso those with custom graphics/non-mario related.
Originally posted by Hooded EdgeI wanna get some advice for this (whether it sounds good or not). Give me your best feedback!
Music is very subjective so take what you want from it.
Here is what I think is good.
+ Decent Channel Volumes. If your channel volume is too low and you use a fade command, e.g. volume fade, you lose
granularity.
+ Echo Buffer. Some tracks sound good without it, sometimes the ARAM is better used on samples but reverb is nearly ubiquitous in modern music and I can make a
long list of reasons why to use the echo buffer.
+ Not using $FF $00 for all instruments. Doing this is fine (many games do) but at times you get more "realistic" results with varied values. $FF $00 is practically
marcato for most samples.
I believe it's very good that they're sampled. I'd argue you could replace the Mario instruments but that's a nitpick. The other problem is that your SPC is rather loud and likely close to clipping the DSP output. You can mitigate this through various means but the most obvious (channel volume) is counter intuitive as I praised you for.
That ends the post. An option text block/essay explaining why high channel volumes are good or alternatively why 7F MVOL isn't too great.
CodeNo echo, oversimplified schematic. Generic Mixing.
Sample[n] * ENV_HEIGHT * CH_VOLUME = CHANNEL_WAVEFORM[w]
MIXED_WAVEFORM = CHANNEL_WAVEFORM[0] + ... CHANNEL_WAVEFORM[7]
DSP_OUTPUT = MIXED_WAVEFORM * MAIN_VOLUME
Due to the commutative properties of MUL and ADD the ordering is largely irrelevant.
What I want to show is why low channel volumes aren't good.
If the highest CH_VOLUME is 0x10 in your soundtrack you only have 15 levels of granularity on volume range.
CH_VOLUME can go up to 0xFF so let's look at a Linear Volume Fade.
6 step crescendo at "half" starting volume, always round down (decimal)
0x00 -> 0x10
8 -> 8 -> 9 -> 10 -> 11 -> 12 -> 12 ; 60% crescendo
1016 -> 1016 -> 1143 -> 1270 -> 1397 -> 1524 -> 1524; scaled by MVOL 127 (7f)
If you had higher channel volumes.... from 0 to 0x20, it'll be
15 -> 16 -> 18 -> 19 -> 21 -> 22 -> 24 ; 60% crescendo
960 -> 1024 -> 1152 -> 1216 -> 1344 -> 1408 -> 1536; scaled by MVOL 64 (40)
The "SMW" crescendo is 2.8% louder but shifts more abruptly and only has 4 unique levels.
Only way to eliminate that is rely on envelope height and use GAIN for crescendo.
ADSR always starts at 0 or 127 thus cannot be used to solve our problem.
This exaggeration indirectly illustrates some limitation of the Volume Fade Command $E8 $XX $YY
MVOL does not multiply CH_VOLUME but only for the sake of example.
Follow Us On