Table of Contents
Soundtrack Tool
This tool converts a tracker sequence into a format that can be played on-console, usually with a sound driver. If you are familiar with dmf2esf
, this utility serves as a successor and a rewrite which supports the newer version(s) of Deflemask DMF format. soundtrack
can convert a single sequence and export its instruments (also known as "artifacts"), or it can convert multiple sequences and generate a combined instrument list for all of them.
Impatient? Jump to Quick Start
Supported Tracker Formats
- Deflemask
- DMF file version 27 (exported by Deflemask version 1.1.8)
- "Genesis" modules only
- Six FM channel + Four PSG mode only (Ch. 3 Special not supported)
Supported Export Formats
- Echo Sound Engine (ESF) for Sega Mega Drive
- Version 1.68 (tree c83e424)
Supported Source File Export Formats
asmx
assembler- Users of ASM68k or SNASM68k can edit the source file to reduce the size of filenames and symbols. These two targets will be supported soon!
- Source file generation is provided as a convenience to the user. For users of C language or GNU as,
soundtrack
generates and exports Echo ESF/EEF/EIF/EWF files directly for custom linkage. These targets will be supported soon as well!
⚠️ soundtrack
is currently in alpha and such is very likely to fail in common scenarios. You can give it a try for your DMF -> ESF conversion requirements, but as of now it may not work for all tracks. In my experience, 80% of tracks using effects supported will play properly. I will fix these issues as I encounter them while converting compositions for my Sega Mega Drive homebrew game, or as issues are reported in the issue tracker. Thank you for your patience!
Effects Currently Supported
1xx
Portamento Up2xx
Portamento Down8xx
Set panningBxx
Set position jump- Position jump can only be set once and to a pattern matrix row less than or equal to the current pattern matrix row. This will be converted into an $FD/$FC ESF event pair, with its own limitations.
Dxx
Jump to next pattern17xx
DAC Enable (FM6)20xx
Noise generator mode (SN4)ECxx
Note cut
Quick Start
Get help and supported options
reskit soundtrack --help
Convert a single DMF module to ESF format, export instruments, and source file
reskit -i track.dmf -o track.esf
Convert multiple DMF modules to ESF format, generate a combined set of instruments, and source file
reskit -i track1.dmf -i track2.dmf -o output/path/
Note that when converting multiple files, the -o
option is instead a pathname to export multiple sequences.
soundtrack
Roadmap
The eventual vision of reskit
is to serve as an ffmpeg-like tool for converting assets to and from 8-bit and 16-bit console media formats. soundtrack
aims to eventually support the following:
- VGM format conversions
- E.g. VGM to ESF, ESF to VGM. Build a sequence from VGM so that developers can make use of features offered by their sound engines, such as FM and PSG sound effects.
- Highest priority, as many utilities including and other than Deflemask support VGM export. It is essentially an informal interchange format for chip music. VGM support will allow
soundtrack
to quickly support a wide variety of sound engines and trackers.