Skip to content

About

music format, this thing kinda sucks ass.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trackscript

Trackscript is a readable, line-oriented music project format. A score line inside a pattern is one measure. §beat/subdivision is local to that measure; the line number supplies the measure number. A long note can continue beyond the line where it starts. Its attached & waypoints can continue beyond that measure too; they travel with each instance of the note's pattern.

The BlockList is the arrangement: each line is one measure of playback, and the pattern calls on that line play together. Repeating a call on later lines repeats that pattern. Empty measures are written as ;.

The parser, player, semantic comparison, and converter share trackscript_parser.py. Generated patterns are intended to be measure-sized and addressed directly from the BlockList, without a song-length wrapper. When adjacent note groups recur across measures, the converter factors those groups into shared patterns and places the shared and remaining notes together on each affected BlockList line. It also groups notes using the same sample together within each measure across source tracker channels, so tracker channel layout does not inflate the arrangement.

IT conversions also retain the original module byte-for-byte in source/. The generated samples.json includes decoded IT sample properties, instrument keymaps, note actions, fadeout settings, and volume, pan, and pitch envelopes. This preserves source information that the current Trackscript playback syntax/player does not yet execute in full; the conversion report identifies playback approximations and unsupported behaviors.

The reference audio renderer uses an optional native C++ sinc kernel when g++ or clang++ is available. It compiles once into the system temporary directory and caches the library; without a compiler it falls back to the slower NumPy implementation.

About

music format, this thing kinda sucks ass.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages