LSDJ2DMW is a tool that rips wavetables from LSDj (Little Sound Dj) and converts them to the .dmw format for use in Deflemask Tracker. This includes from songs currently loaded or songs that are saved using LSDj's internal file compression system.
Not guaranteed to work for versions of LSDj older than 6.7.0
The latest release can be found here
LSDJ2DMW <inputSavFilename> [options]
eg:
LSDJ2DMW.exe test1.sav
will rip all wavetables in the currently loaded song
LSDJ2DMW.exe test1.sav -swr TESTSONG 10 15
will rip wavetables 10-15 from the saved song TESTSONG
LSDJ2DMW.exe test1.sav -p -s TESTSONG
will rip all the wavetables in the saved song TESTSONG and will print out all the ripped wavetables and will print out the filestructure of all the songs in your .sav
- ensure a folder named outputwaves is in the same directory as LSDJ2DMW.exe
- drag and drop your lsdj .sav file on top of LSDJ2DMW.exe
All the wavetables in the currently loaded song will be dumped into the ./outputwaves directory. The program does not create this or check for it so make sure you have a folder with this name in the same directory as LSDJ2DMW.exe
Only 1 may be used
-l
: rip all wavetables in loaded module (default)-lw <wavenumber>
: rips a single wavetable from the loaded module-lwr <startWaveNumber> <endWaveNumber>
: rip a range of wavetables from the loaded module-a
: rips all wavetables from all saved songs-s <songname>
: rip all wavetables from a single song-sw <songname> <wavenumber>
: rips a specific wavetable from a given song (0-255)-swr <songname> <startWaveNumber> <endWaveNumber>
: rips wavetables in a given range in a specific song (0-255)
May use these in any combination
-p
: print ripped waves and files-pw
: print ripped waves-pf
: print songs-x
: format outputted wavetable indices as hex-nw
: don't write files or parse files. Useful in combination with -p/-pf for reading songnames
If you want to actively create an LSDJ synth/wavetable instrument, run LSDJ on an empty/new .sav and toy around with a synth/wavetable instrument that uses waves 0-F. Once you have the sound you want close your emulator (BGB recomended) to update the .sav. Then run LSDJ2DMW yoursav.sav -lwr 0 15
to rip the synth wavetables. Keep in mind that the speed and mode settings will not affect the wavetable output. You need to do this yourself by using wavetable macros in Deflemask.
To build run on windows just run make
. Requires gcc and make from MinGW. I have gcc and make added to PATH so if you don't already have it added you will need to do so yourself.
To build for linux run make
. You'll need make and gcc as well. If you encounter any issues please let me know.
- fix -lwr explanation in help string
Special thanks to Rytone, TakuikaNinja and INFU for help with LSDj's internal file structure, compression and test data.