Language…
21 users online: Alex No,  AmperSam, Anas,  Anorakun, DanMario24YT, GiraffeKiller, Golden Yoshi, Green, Green Jerry, h.carrell, Hammerer, JikissGamer, MaffYuu, Maw, Metal-Yoshi94, playagmes169, Ray Hamilton, Rykon-V73,  StayAtHomeStegosaurus, Tulip Time Scholarship Games, Zatara - Guests: 299 - Bots: 477
Users: 64,795 (2,369 active)
Latest user: mathew

MIDI Drum Portability Question

So I'd recently been wondering, do people around here generally prefer General MIDI Channel 10 tuning values for drums ?

You can see what I mean via this GM1 spec chart: https://www.midi.org/specifications-old/item/gm-level-1-sound-set (scroll down, Precussion Map)

Its in 256-key notation value but thats easily transmutable to octave/key value (for a musician), for tuning.

The docs on BRR say C natural at octave 4 (middle C) tuning values are "preferable". This confused me because of MIDI->MusicXML->Tuning Value in regards to drum track samples, as drums are mapped on an actual piano keyboard (and by note value in MIDI, very differently than all being set to middle C).

In my recent submission, I went for whatever worked to make the note sound good and to use a resampling trick by playing note-on at double-speed to save ARAM (8000hz vs 16000hz = 1:2 size ration), play at double speed to hear as intended, however if you change the pitch of the sample in an audio editor before converting to BRR, you can change the tuning value without effect to the SNES note pitch. Meaning you can basically initialize the tuning value to whatever you like by tweaking sample pitch.

Does this place generally recommend the MIDI standard tuning value to port drum tracks easier or is it okay to go with "whatever tuning value works"?

Your thoughts...
~ LupineDream
formarly MallowMan

Quote
"A master is adept at the skill of observation. A journey involves getting there, and knowing how to get there."
Drums or rather percussion is a bit special. Percussion channels on General MIDI are hardcoded to be at channel 10 (or 9 is you start from channel 0 instead of 1) so it isn't just a general choice but rather a requirement. It also works a bit differently with its notes: Instead to play a sample of an instrument of a different pitch, a percussion channel changes the instrument entirely and doesn't control the pitch anymore. That means, some note plays a snare and another other one plays a cymbal.

A drum channel doesn't exist on the DSP, SPC700 or the N-SPC music engine (of which AMK's music engine is a modified one) ‒ all channels can play any sample at any pitch (at least how much the console can output). This also means, neither the DSP nor the SPC700 know which sample is a percussion sample or non-percussion (the game's music engine is programmable, though, but we talk about AMK which doesn't do that).
As such, you can tune a percussion sample to play at any note but o4c as the base pitch is still preferrable.
Thanks for the insight. I'm aware of how GM MIDI drums work but my question is now...doesn't rapid sample bank switching on drum samples due to every note being played at octave 4 middle c lag the amk driver out on the DSP ? I'm sorry that these questions are so technical. I think technically.

In regards to AMK modding as a smaller part of your second statement, there, I was chit-chatting with Hyper and Maarfy picking up a little 65:816 asm experience from them guys last night. Hopefully that helps a bit with AMK driver tweaking, 65:816 backend knowledge. I take it the AMK driver does not provide any keymapping functionality to map notes on a track to samples from your second statement, there (like for drums, or effects). It seems like you'd lag the driver horridly by loading up a bunch of drum samples to the dsp and rapidly bank switching to play them all at their expected tuning note at the same time (middle c)...unless the DSP isn't that way by design.
~ LupineDream
formarly MallowMan

Quote
"A master is adept at the skill of observation. A journey involves getting there, and knowing how to get there."
I think you have hooribly misunderstood how the DSP work. Specifically, the DSP is purely used for processing the information the SPC700 provided and outputs it to the speaker and not for processing the music engine. The SPC700 processes the latter so any lags are coming from the SPC700 side, not the DSP side.

Second, the SPC700 is not a General MIDI. There is no such thing as sample banks, only single samples and generally, all required samples are loaded into ARAM which reduces the amount of lag and makes the SPC700 also mostly independant to the SNES (there are instances where samples are loaded dynamically but these are used as a last resort when not all samples fit into ARAM).
But without the ability to switch between between, quite a few drum tracks wouldn't be possible and other songs which quickly change the samples on a channel, likewise would have had a problem, even on commercial game.

Finally, 65c816 ASM is the SNES's language but SPC700 uses its own language so not much 65c816 will help you.
Originally posted by LupineDream
Does this place generally recommend the MIDI standard tuning value to port drum tracks easier or is it okay to go with "whatever tuning value works"?

Your thoughts...

As described earlier the SNES has no support for MIDI or tools to use it unless you make your own. Drums are samples and it's up to you or the sample author to tune them appropriately.

With AMK you would have to take care of instrument changes manually (there is a program to somewhat automate this but the mml will lose some optimization) on your drum channel of choice. You can EMULATE GM Drums with AMK but the two caveats are (the aforementioned) manual instrument changes and lack of a GM library.
No SNES title, to my knowledge, has a full GM Drum Kit in samples and no one has created one yet so it'd be largely incomplete.