MusicGeneration - Turboxray/HuTrack GitHub Wiki
Recommended Practices for Creating Music with HuTrack
-
Operate in 60Hz Mode
Make sure your project is running in 60Hz (NTSC) mode. HuTrack relies on this timing for correct playback. -
Use Arpeggio “Macros,” Not “Effects”
HuTrack only supports the arpeggio macro feature in Deflemask, not the arpeggio effect commands.
Always define your arpeggiated sequences as macros in the instrument settings to ensure compatibility. -
Include Volume Macros in Instruments
If a channel produces no sound, confirm that the instrument’s volume envelope (volume macro) is set.
Even a basic volume macro can resolve silent-channel issues. -
Isolate and Test Channels Individually
If you suspect a problem on a specific channel, create a test file that isolates that channel in Deflemask.
Build a ROM and run it in your preferred emulator to verify sound output. -
Check Instrument Settings Carefully
Small tweaks (e.g., volume envelopes, macros) can restore missing audio.
Compare a “working” instrument to any silent one to spot differences. -
Place Repeat (Effect 0B) on Channel 6 and invoke it with
PlaySong, notPlayOnce
HuTrack processes repeats only when the 0B command is found on the last channel (Channel 6).
Additionally, the engine rewinds correctly only if the track is started with the standardPlaySongcall.
If you start playback withPlayOnce, the repeat marker will be ignored and the song will play through just once. -
Put “Skip to Next Pattern” (Effect 0D) on Channel 6; row argument is ignored
For consistency with the tracker’s parsing order, the 0D command must also reside on Channel 6.
Be aware that HuTrack always jumps to the start (row 0) of the next pattern, regardless of the argument value you supply in Deflemask; any non-zero row argument is silently discarded.