This is a program that converts standard MIDI files into the SSEQ format.
This software can be used to make SiIvagunner mashups, known as "high quality rips", of Nintendo DS music that sound accurate to the sound of the DS.
An example of a SiIvagunner-rip that used midi2sseq in its creation is "Tiny Town", which was created by myself. The project files for this SiIvagunner-rip can be found here.
- Note on/off
- Volume, pan & expression
- Pitch bend & pitch bend range
- Patch change
- Tempo
- Loop points via
loopStart
andloopEnd
markers - Hopefully everything in sequence.md
Most midi event to sseq command conversions are implemented as Midi undefined CC and text markers. These are documented in the README of my fork of sseq2mid.
Ready-to-run copies of ndstool can be downloaded from Leseratte's website. Scroll to the bottom and download the latest version for your OS. Decompress it, which will give you a folder named "ndstool-version-OS_arch.pkg". Go into the folder, then you should find ndstool on the path "opt/devkitpro/tools/bin/".
Guide on how to open command prompt in a certain folder on Windows.
The terminal commands listed below are examples; please replace placeholders with the names of your files.
Instances of ./ndstool
are for linux, Windows users should type .\ndstool
.
The instructions below are not step-by-step, they are only an outline, because the instructions skip a few minor steps relating to file and folder management.
- Use VGMTrans to find the song you want to edit and to rip the sound bank to sf2.
- Copy and paste the nds file to the same folder, and name the copy something like "Game (header).nds".
- Run ndstool with the command
./ndstool -x "Game.nds" -d rom-files -9 arm9.bin -7 arm7.bin -y9 arm9overlay.bin -y7 arm7overlay.bin -y overlay-files -h "Game (header).nds"
to extract the rom's files. - Run SDATTool with
python3 SDATTool.py -u sound_data.sdat sdat_contents
to extract the SDAT's files. - Run sseq2mid to convert the sseq file containing the song you wish to edit to midi.
- Edit the midi in your preferred midi editor. Please use a midi editor that supports multiple tracks in midi files (type 1 midi files). This is needed so that text markers corresponding to sseq commands are placed on the correct tracks. The sseq2mid README contains additional info on song editing.
- Run midi2sseq to convert your edited midi to sseq. Replace the original sseq in the SDAT folder with your modified sseq (it should have the same filename and location).
- Run SDATTool with
python3 SDATTool.py -b sound_data_modified.sdat sdat_contents_modified
to build the files into a new SDAT. - In the folder containing the rom's files, replace the original SDAT with your modified SDAT. Build a new rom by running ndstool with the command
./ndstool -c "Game-modified.nds" -d rom-files-modified -9 arm9.bin -7 arm7.bin -y9 arm9overlay.bin -y7 arm7overlay.bin -y overlay-files -h "Game (header).nds"
.