- MULTI-CHANNEL
AUDIO-EXPORT -
- MULTI-CHANNEL
AUDIO-EXPORT -
To be able to use Separate-Channel-Output we need to recompile Duckstation from the source on the platform of our choice - Follow EXACTLY instructions on the main Github:
(I managed to complete it with no programming experience, just follow the instructions exactly, and if you receive any error, read them carefully to know how to solve them!)
Follow instructions till the point where you compile the final app for yourself - Right before that is exactly when we need to make a single & simple change to the code
========== ========== ========== ==========
Inside src/core/spu.h you'll find this 2 lines:
// Enable to dump all voices of the SPU audio individually.
// #define SPU_DUMP_ALL_VOICES 1
<--
(^uncomment this single line)
Those 2 slashes need to be deleted,
so the hash symbol “#” is the first in the line!
========== ========== ========== ==========
After that, continue compiling as usual, and the functionality will be usable at the place of normal "audio-dump" - all 24 channels at once, + separate reverb and them total mixdown!
Huge Thanks to Stenzek, Duckstation developer for implementing this at least in the source code, and overall patience he had with me ^^
About PC version:
Around 2002 there was desktop release of Music 2000 software, which is supposed to be an improvement: If you were to try it out nowadays, you'd be considered lucky if you get past the startup screen without serious crashes...
In our Music™ Discord community, we managed to find 3 working solutions where you can possibly enjoy PC versions!
1. Updated PC version
User “realrufoo” created “Music 2000 Revival”: an elegant package which restores M2K PC version for modern usage!
2. Virtual Machine (VM)
User “User22” figured out how to make PC version of MTV Music Generator run perfectly on virtual machine - if you don’t mind inconveniences of setting up virtualbox and Windows ME, then this is most solid option out there!
3. Music 2002 - Slinky Edition
Jester Interactive released kind of a sequel to Music 2000 - it’s basically Music 2000 again, but with different theme for the interface, and expanded sample library - It has higher chance of running on modern PCs than 1st solution, but experience varies from user to user
MODS / HACKING
This section is focused around PS1 version, though structure between PS1 and PC version is pretty similar, so feel free to pick advice as feel fit!
OPENING UP CD
In order to mess around with Music(tm), we need to open up our disk image - for that we need:
- mkpsxiso: https://github.com/Lameguy64/mkpsxiso
(go into releases and grab newest one for your system)
- disk image of our Music(tm) app
(I'll be using MTV Music Generator)
- Make sure mkpsxiso.exe, dumpxiso.exe and your disk are in the same folder, like this:
Open up Command Prompt in current folder - you do that by putting in "cmd" in address bar of your folder and pressing “ENTER”
Open up Command Prompt in current folder - you do that by putting in "cmd" in address bar of your folder and pressing “ENTER”
New black window with text should pop out, with entire path of our folder being visible on the left side, we need to put down this command:
dumpsxiso.exe "MTV Music Generator (USA) (Track 1).bin" -x MTV -s MTV.xml
Like how it’s shown below, as a single line:
TIP: you don’t have to type in entire filename of that CD file: just type in first letter or 2 and press “TAB” until you see full filename there, preferably in double quotes (““)
...and then press “ENTER”: lots of text should scroll in that cmd window, and in that same folder you should 1 new folder and 1 new file, like this:
If that’s what you see, then you successfully unpacked Music™ CD!
What happened step by step:
command you entered extracts files from “MTV Music Generator (USA) (Track 1).bin” into “MTV” folder alongside “MTV.xml” file that we can use later on to rebuild disk image!
rebuilding CD image is much easier, you do it with this command:
mkpsxiso.exe MTV.xml
this uses MTV.xml file and that entire folder we extracted earlier to create new disk image, by default called `mkpsxiso.bin` with .cue file of same name!
If it's your first time, try those commands and then try out your new CD image in Duckstation to see if it works!
TIP: if you want to change output file name of your new CD image, you can do so by either changing both .bin and .cue names at the very top of MTV.xml file!
IMPORTANT TIP BEFORE EDITING UP THINGS INSIDE CD
Make sure to do backups so you don't mess up your CD! you can have copies of files in the same directory, and since those copies aren't mentioned in xml file, your CD will be compiled back without those extra copies!
SAMPLE LIBRARY SWAP
AKA PS1 M2K2 MOD
inside your extracted CD folder there should be WADS folder, and inside it you should see ANDY.WAD and ANDY.IND - this is sample library and its index file respectively
Music 2002 - Slinky Edition has expanded sample library in exact same format as any other Music 2000 product, called data.wad and data.ind
Simply take those files and overwrite ones in your PS1 WADS folder and make sure all keep the ANDY.WAD/IND naming (including uppercase letters!)
You should be able to compile CD back without any problems!
SKIP INTRO AT STARTUP
find SYSTEM.CNF file, edit it with either a notepad, or your hex editor:
first line should say (in MTV version)
BOOT = cdrom:\SLUS_010.06;1
change that to:
BOOT = cdrom:\GAME.EXE;1
this will skip intros at every boot-up!
CHANGING SAVE ICON
Save icon BOOT/SAVEMUS.TIM - this is image we need to replace in order to make our saves look different
Make 16x16 4 bit png file (or 8bit, it’s okay), then convert it using this program
https://github.com/Lameguy64/img2tim
like this:
img2tim.exe -bpp 4 -o savemus.tim YourImage.png
Then use your new .tim file and replace one in BOOT folder - compile back CD and check if it works!
Left one is my failed attempt, because I did output 8bit file, on the right side it’s how icon should look like, after I added “-bbp 4” to command
EDITING SAMPLE LIBRARY
We need to use wadtool.exe, , and we need to understand how Sample library is organised, and replace files inside with it:
https://github.com/juju2143/wadtool
for converting audio files to PS1 compatible format, we need psxavenc: ttps://github.com/WonderfulToolchain/psxavenc
place wadtool.exe in WADS folder, where ANDY.WAD and ANDY.IND are located, open up CMD in that folder, and run this command:
wadtool.exe -i ANDY.IND -w ANDY.WAD dir
this should show you what's inside sample library: we are interested in second column from left, those are names of folders/files we can access.
on rightmost side there's often longer description of that file/folder
Let’s access main folder where our samples are located:
wadtool.exe -i ANDY.IND -w ANDY.WAD dir N
You'll notice inside N there are 3 folders: B,D,F.
Just like inside M2K, samples are segregated into 3 qualities:
11025hz (B), 22050hz (D), and 44100hz (F)
So if we want to see 44khz samples, we need this command below:
wadtool.exe -i ANDY.IND -w ANDY.WAD dir N/F
From here you should see sample categories sorted in same way you see them inside M2K, and that’s know to browse sample library!
Command below should take you to
44khz->Spoken->Laurel samples:
wadtool.exe -i ANDY.IND -w ANDY.WAD dir N/F/Q/B
REPLACING A SAMPLE
We need to prepare our audio sample first!
open up folder where you got psxavenc.exe, make sure your sample is there, and open up CMD there.
We will need to convert it like this:
psxavenc.exe -t vag -f 44100 "Your Sample.wav" output.vag
after that, move output.vag to same folder where you got wadtool.exe and your WAD files.
Let’s say you want to replace one of Spoken→Laurel samples, called “lose yourself” - we need to point specifically to it, and instead of command “dir” we gonna use “replace”, and we need to point to our new sample, like so:
wadtool.exe -i ANDY.IND -w ANDY.WAD replace N/F/Q/B/LOSEYO~1 output.vag
If done successfully, CMD shouldn’t display any text in red, and you can compile back CD with your updated WAD file using mkpsxiso.exe!
If you gonna get red error saying:
Unhandled exception: System.IO.IOException: Can't replace in-place yet
that means the sample you tried to put in is bigger than one you're trying to replace - currently you cannot swap sample with bigger one.
whenever you perform “dir” command with wadtool, second from the left column, one with just a number displays the size of that file
if you take this number and divide by 1024, you will get that size in KB - your new sample cannot go beyond that.
HELP NEEDED!
There might be more things possible to be modified, like changing the interface, fixing some bugs here or there, or changing behaviour, but unfortunately that’s as far as my knowledge goes
If you find something else to modify in Music™, or improve techniques mentioned above, then please contact me on places mentioned on my main page, or on Music™ Discord Server!