18 Using the Soundtrack Tool
Ashley N edited this page 2023-09-02 16:39:22 +00:00

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

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 Up
  • 2xx Portamento Down
  • 8xx Set panning
  • Bxx 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 pattern
  • 17xx 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.