It is. What features do you want?
I'm about half way through implementing a tracker, and I'm hoping to get it finished by the end of the year.
I recently added a basic API for playing sounds:
- You can now play some preloaded samples with `play(note: string)`, where a "note" is of the format: `[note][octave][sample]`.
- Note can be of the set `[a,a#,b,c,c#,d,d#,e,f,f#,g,g#]`, Octave can be 3-7, sample is 1=Sine wave, 2=Square, 3=Saw.
- An example of a valid play call would be `play("d#42") -- play the note d#4 with a square wave`. There is also a special note called "noise" which will play noise: `play("noise")`.