Skip to content

hexter 2.6.0

Choose a tag to compare

@keithadler keithadler released this 20 Sep 00:59
· 18 commits to master since this release

A waveform for each operator

A DX7 operator can only play a sine. The four-operator machines from the TX81Z on let
each operator pick one of eight shapes, and that is most of why those synths sound like
themselves rather than like a small DX7.

All six operators get the same choice now, as six parameters: OP1 wave through
OP6 wave. Each one rests at Patch and leaves that operator alone. W1 is the
sine hexter has always played, W2 is that sine squared, and the rest silence part of the
cycle or run it at double speed. Anything but W1 puts harmonics in before the FM starts,
which takes a familiar patch somewhere a DX7 cannot go: a squared carrier is brighter and
reedier, a half-cycle modulator gets buzzy fast.

They behave like the algorithm knob. Move one and you hear it on notes you are already
holding, not only on the next one. Move it back to Patch, or select a program, and the
patch's own shapes return. They are saved with your session.

The eight shapes are derived the way ymfm derives
them, BSD-3-Clause, now credited in AUTHORS.

TX81Z banks bring their waveforms with them

A TX81Z voice carries a shape per operator in bytes the converter used to throw away.
They are read now, and each one lands on the DX7 operator that four-operator one became,
so a TX81Z patch that leans on a shape other than the sine still sounds like itself. A
DX21, DX27 or DX100 bank has nothing in those bytes, so it stays all sines, which is what
that hardware is.

Nothing about an existing patch changes

Shape W1 is the same table hexter has used since the beginning. Five ROM patches render
byte for byte identically against a build of 2.5.1. A session saved by an older hexter
still loads; it simply has no waveforms in it and every operator comes back a sine.

Every new check was confirmed to fail with the behavior it tests removed: the note-on
lookup, the bank converter, the state section, the live update under a held note, the
CLAP knob, the CLAP state trailer and the LV2 ports, each broken in turn.