Tabla de Contenidos

1-bit Music: HoustonTracker 2

HoustonTracker 2 is a software sequencer that enables you to create musicon Texas Instruments graphing calculators. It uses the machines’ communication port to output multi-channel 1-bit music. Its interface is inspired by popular trackers such as LSDJ, Famitracker, and Milkytracker.

HT2 supports several models of the Z80-based line of TI calculators. It is mainly targetted at older, obsolete models like the TI-82, but also works on newer machines up to and including the TI-84 Plus SE.

Ser The history of trackers

Features:

Tutorials & Demos

Reference v2.30

Drums

There are 15 different drums to chose from (0x1..0xF). Some of the drums use the TI-OS as sample data, so their sound may vary across different calculator models.

Drums can be played in different modes, which affects the way they sound. Use command Dxx to change the drum mode, with xx = 0x00..0x4f.
There are 80 different drum modes, though not all of them are particularly useful. Setting a non-zero value for the lower nibble of the parameter causes the drum data to be manipulated in various ways. Refer to the appendix on Synthesis Techniques for details about this functionality.

The upper nibble of the parameter defines the behaviour of the drum data pointer. The effects are as follows:

mode cmd effect
0 D00 Increment pointer, ie. use the ”standard” drum set.
1 D1x Decrement pointer, ie. use the ”alternative” drum set. Generally speaking, these drums are less useful than the standard set. Also, some drums will produce unpredictable results, namely drum 0, 1, C, and D.
2 D2x Increment and loop pointer. Even less useful than mode 1, and suffers from the same problems. Also, this mode causes a slight global pitch shift.
3 D3x Decrement and loop pointer. Like mode 2, with different sounds.
4 D4x Don’t move pointer. Instead of drums, in this mode triggering a drum will play a fixed, most likely out-of-tune frequency. This mode causes a slight global pitch shift.

Efectos

cmd effect description
1xx SET PAN Set panning for all channels.
To determine how the panning will be set, you need to look at the individual bits of the effect parameter, starting at the rightmost one (aka bit 0).
bit 0 set: pan ch1 right (add 0x1 to xx)
bit 1 set: pan ch1 left (add 0x2)
bit 0,1 reset: pan ch1 center (add nothing)
bit 2 set: pan ch2 right (add 0x4)
bit 3 set: pan ch2 left (add 0x8)
bit 2,3 reset: pan ch2 center (add nothing)
bit 4 set: pan ch3 right (add 0x10)
bit 5 set: pan ch3 left (add 0x20)
bit 4,5 reset: pan ch3 center (add nothing)
bit 6 set: pan drums right (add 0x40)
bit 7 set: pan drums left (add 0x80)
bit 6,7 reset: pan drums center (add nothing)
2xx PITCH SLIDEUP CH3 Perform an upward pitch slide on channel 3.
xx defines the speed of the slide, lower valuesmean slower slides.
xx can be any value, butbeware that the pitch counter will eventuallywrap.
200 disables the effect
3xx PITCH SLIDE DOWN CH3 Perform a downward pitch slide on channel 3.
Using this will disable effect 9xx.xx defines the speed of the slide, lower valuesmean slower slides. xx can be any value, butbeware that the pitch counter will eventuallywrap.
300 disables the effect.
4xx DUTY CYCLE / NOISE CH1 Set the duty cycle for channel 1, and toggle noise mode.
xx ⇐ 0x80 - set duty cycle and disable noise mode
xx > 0x80 - set duty cycle and enable noise mode
5xx DUTY CYCLE / SWEEP CH2 Set the duty cycle for channel 2, or enable duty cycle sweep.
xx ⇐ 0x80 - set duty cycle and disable duty cycle sweep.
A value of 0x80 produces the default 50:50 wave.
Very low values will cause glitches. xx > 0x80 - enable SID-style duty cycle sweep.
Sweep speed = (xx & 0x7F), 581 will produce the classic sweep effect known from HT versions ⇐ 2.20.
Some parameters are shared with effect 7xx, hence these two effects impact each other.
6xx DUTY CYCLE / GRIND CH3 Set the duty cycle for channel 3, and toggle grind mode.
xx ⇐ 0x80 - set duty cycle and disable grind mode.
xx>0x80 - set duty cycle to “xx * 2 and 0xff” and enable grind mode.
7xx AUTOCHORD / DRAWBAR CH2 Add a chord or drawbar organ effect to channel 2.
xx<0x80 - enable unsynced auto chord. The chord created varies depending on the note used, and is not necessarily harmonic.
xx>= 0x80 - enable synced auto chord (drawbar organ effect). This will produce an octave chord, depending to some extend on the current duty setting. A higher value for xx will generally produce stronger harmonics.
700 switches off the effect.
Some parameters are shared with effect 5xx, hence these two effects impact each other.
See the description of effect 5xx for details.
8xx EXEC NOTE TABLE CH3 Execute a given pattern as a note table for channel 3.
This effect operates on a per-tick basis. Execution starts after the first tick.
xx is the pattern to be executed as note table.
If the current tempo is greater than 0x10, table execution will continue at the following pattern.
To disable the effect, set xx to a value greater than 0x7F.
Using this effect will disable the Cxx (note cut ch1) effect.
9xx GLITCH CH3 Add a nasty glitch effect to channel 3.
xx can be any value, 900 turns off the effect.

Images