Proper Algorithm for SNES Pitch Modulation
Page 1 of 1

Author:  jwdonal [ Sun Jul 05, 2015 2:17 am ]
Post subject:  Proper Algorithm for SNES Pitch Modulation

Hello all,

I'm trying to figure out what the proper algorithm is for the SNES pitch modulation. I have implemented my SPC player to use the algorithm specified in Anomie's apu_dsp.txt, which is:

pitch += ((voice[x-1].outbuffer >> 5) * voice[x].PITCH) >> 10;

The output wave result that I get is an exact binary match output to Blargg's SPC emulator. Here is the output direct from Blargg's emulator for the first 7 seconds of "The Oracle" track from Secret of Mana: ... g_pmon.wav

However, Anomie's algorithm does not seem to modulate the output "enough". What I mean is, when I listen to some tracks that use pitch modulation on various SPC players they seem to modulate quite a bit more. For example, listen to the first 7 seconds of "The Oracle" track from this video:

Of course, one could argue that maybe it's actually the case that the other SPC players are modulating the pitch "too much". Haha.

Any thoughts? It would be awesome if someone could try one of the games with pitch modulation on a real SNES (like Secret of Mana - The Oracle) and see what the output really sounds like. Unfortunately I don't have that particular game. Another game (which I also don't have) that I know that uses pitch modulation in quite a few tracks is Packy and Marlon: Playground 2, House 4, Unknown Song 9, Unknown Song 13

Page 1 of 1 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group