Programming Sound Extracting with the ScummVM API
Moderator: ScummVM Team
-
- Posts: 33
- Joined: Fri Feb 01, 2013 3:36 pm
Programming Sound Extracting with the ScummVM API
Dear people in this forum,
I want to extract the sounds/music of various owned scumm Games and dowloaded the source code and built it via terminal with my mac.
I then saw through the various directories in the source code folder in order to find the entry point for the sound processing.
But now I have the problem that I can't find the approriate places to look for.
One thing I found for sound aspects is the AudioBufferCallback for CoreAudio processing where I could grab the bytes that are generated in order to push them to the sound hardware and write them to files.
But I need to play the actual game through in order to reach all the sounds.
Can anybody give me a hint on where to start looking for in order to extract the midi or aiff sounds?
Please help me:)
I want to extract the sounds/music of various owned scumm Games and dowloaded the source code and built it via terminal with my mac.
I then saw through the various directories in the source code folder in order to find the entry point for the sound processing.
But now I have the problem that I can't find the approriate places to look for.
One thing I found for sound aspects is the AudioBufferCallback for CoreAudio processing where I could grab the bytes that are generated in order to push them to the sound hardware and write them to files.
But I need to play the actual game through in order to reach all the sounds.
Can anybody give me a hint on where to start looking for in order to extract the midi or aiff sounds?
Please help me:)
-
- Posts: 33
- Joined: Fri Feb 01, 2013 3:36 pm
- eriktorbjorn
- ScummVM Developer
- Posts: 3583
- Joined: Mon Oct 31, 2005 7:39 am
Re: Programming Sound Extracting with the ScummVM API
It would depend on the exact game, since each game engine has its own way of storing things.michaelklaube wrote: Can anybody give me a hint on where to start looking for in order to extract the midi or aiff sounds?
-
- Posts: 33
- Joined: Fri Feb 01, 2013 3:36 pm
-
- Posts: 33
- Joined: Fri Feb 01, 2013 3:36 pm
- eriktorbjorn
- ScummVM Developer
- Posts: 3583
- Joined: Mon Oct 31, 2005 7:39 am
I'm not sure off-hand, but I'd start looking in engines/scumm/sound.cpp. Specifically the playSound() and readSoundResource() functions, though they're a pretty big since they have to deal with so many different formats from so many different games.michaelklaube wrote: I was thinking of parsing the LFL files and extracting the music e.g. for Zak or Indy 3.
michaelklaube: I am unsure what you are doing exactly, but you should be aware that extracting the music for anything other than personal use could result in legal problems. Please see:
http://wiki.scummvm.org/index.php/HOWTO-Fangames
http://wiki.scummvm.org/index.php/HOWTO-Fangames
-
- Posts: 33
- Joined: Fri Feb 01, 2013 3:36 pm
There's a dedicated site for all of the Lucasarts / Disney adventures, which contains all of their music scores:
http://soundtracks.mixnmojo.com/
There's a similar site for all of the Sierra games:
http://queststudios.com/sierra/sierra.html
There's also James Woodcock's music enhancement project, for a lot of the non-Lucasarts, non-Sierra adventures:
http://www.jameswoodcock.co.uk/content/ ... t-project/
So, check these sites out first, chances are that a lot of the music scores you're looking for are there already.
http://soundtracks.mixnmojo.com/
There's a similar site for all of the Sierra games:
http://queststudios.com/sierra/sierra.html
There's also James Woodcock's music enhancement project, for a lot of the non-Lucasarts, non-Sierra adventures:
http://www.jameswoodcock.co.uk/content/ ... t-project/
So, check these sites out first, chances are that a lot of the music scores you're looking for are there already.
-
- Posts: 33
- Joined: Fri Feb 01, 2013 3:36 pm
-
- Posts: 33
- Joined: Fri Feb 01, 2013 3:36 pm
I've set up my own Xcode project and the compilation works, but now I get some linker errors like that:
Undefined symbols:
"Scumm::ScummEngine_v72he::readArrayFromIndexFile()", referenced from:
vtable for Scumm::ScummEngine_v100hein scumm.o
vtable for Scumm::ScummEngine_v99hein scumm.o
vtable for Scumm::ScummEngine_v72hein scumm.o
vtable for Scumm::ScummEngine_v90hein scumm.o
The symbol does definitely exist, but now I don't really know how to proceed. Can somebody help me?
Undefined symbols:
"Scumm::ScummEngine_v72he::readArrayFromIndexFile()", referenced from:
vtable for Scumm::ScummEngine_v100hein scumm.o
vtable for Scumm::ScummEngine_v99hein scumm.o
vtable for Scumm::ScummEngine_v72hein scumm.o
vtable for Scumm::ScummEngine_v90hein scumm.o
The symbol does definitely exist, but now I don't really know how to proceed. Can somebody help me?
Are you really sure that they exist? It might be that you miss to define some macros like "ENABLE_HE" or similar which our build system would define to enable such code. You should really make sure to define the same macros as our configure/make based build system does.michaelklaube wrote:I've set up my own Xcode project and the compilation works, but now I get some linker errors like that:
Undefined symbols:
"Scumm::ScummEngine_v72he::readArrayFromIndexFile()", referenced from:
vtable for Scumm::ScummEngine_v100hein scumm.o
vtable for Scumm::ScummEngine_v99hein scumm.o
vtable for Scumm::ScummEngine_v72hein scumm.o
vtable for Scumm::ScummEngine_v90hein scumm.o
The symbol does definitely exist, but now I don't really know how to proceed. Can somebody help me?