Page 1 of 1

Extracting clean audio samples from DonkeyKong / 8035

Posted: Tue Jul 04, 2017 3:05 pm
by rbairos
Hello.
Im trying to capture audio samples of Donkey Kong arcade version for reproduction in a microcontroller project. (both music + effects)

I'd rather not resort to capturing raw mame audio samples for the following reasons:
-They take KB of data each
-Sampling errors arise when recording from mame playback, plus everything collapsed to mono.
-Sound effects are not separated from background music .

For the music samples, I've been able to find some midi versions for later home consoles, which are nice and lightweight,
but concerned they may not be an accurate composition.

Has anyone had any luck identifying, any song note table or digital sample resources in the DK rom set?
Ive listed to binary dumps of 3i, 3j roms, on the off chance I hear something, but I suspect it's all produced algorithmically in the engine.

It would even be very helpful, if there's a spot in the code where the audio streams are generated separately before mixing, as then I could
get separated sound effects from music.

Any tips appreciated.
Cheers,
Rob.

PS. Sorry for any duplicates, search function here seems to be timing out.

Re: Extracting clean audio samples from DonkeyKong / 8035

Posted: Mon Jul 17, 2017 4:01 pm
by Arbee
Some of the DK sound is synthesized in software by the 8035 and output to a DAC. Some of it's generated by purpose-built analog circuitry that the 8035 triggers. The only thing that's a sample in the ROMs is the gorilla roar, and that's stored in some bespoke compression format. You should look at src/mame/audio/dkong.cpp for details.

Re: Extracting clean audio samples from DonkeyKong / 8035

Posted: Tue Aug 29, 2017 8:14 pm
by rbairos
Thanks for that info.

I also found this page, about unused Donkey Kong sounds.
It includes instructions for how to play individual sound effects which may be useful here:

https://tcrf.net/Donkey_Kong_(Arcade)

Namely:
Both music and sounds can be played in the MAME debugger by entering launching MAME using

Code: Select all

mame -debug
, then entering the following commands:

Code: Select all

focus soundcpu
next
pc = 156; r0 = [ID]
Replace [ID] with the ID of the tune or sound, e.g., r0 = 12. After putting in these commands once, the first two can be skipped if you want to play another tune or sound. Once you've put in the commands, press F5 to resume execution and it should play the sound. This method is not perfect and the game will almost certainly play random music or garbage afterward. Use the command pc = 0 to reset the sound CPU and resume normal operation.