This is a program that converts standard MIDI files into the SSEQ format.
- 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
.
- 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_out
to extract the SDAT's files - Run sseq2mid
- 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.
- Run midi2sseq. Delete the original sseq in the folder and give your modified version the same filename as the original. Place the outputted sseq in the folder containing the original SDAT's contents (or a copy of that folder).
- Run SDATTool with
python3 SDATTool.py -b sound_data_modified.sdat sdat_out_modified
to build the files into a new SDAT - Place the new SDAT into the folder containing the rom's files. 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"