TechTech Technologies

Prometheus II Control Details

Sequence Length

A 12-bit LFSR can produce sequences with length from 1 to 4095 (212-1). 

Sequences of length 1

The sequences of length 1 occur when the register feedback matches the value of all of its bits. In a classical LFSR, this means either the register is all 0's or the register is all 1's and there is an odd number of feedback taps. In an inverting LFSR such as that used in Prometheus, this means that the register is all 1's and there is an even number of feedback taps.

Prometheus uses an NRZ style output where the audio is just the value of the current feedback bit passed through some scaling and filtering. As a consequence, a sequence of length 1 contains no changes and produces no sound, resulting in intermittent dropouts of the audio output under certain some configurations.

If instead the output were composed of pulses with the feedback value at the LFSR clock rate (as is the case in PSK modulation, for example), then an audible tone could be produced at a sequence of length 1. This may be worth considering as a means of producing behavior that does not include audio dropouts. In the case where the single-length sequence is 1, the output bit can simply be ANDed with the LFSR clock to produce this behavior (with the same pulse width as the clock). In this configuration, a sequence of length 1 would match the input clock, and other sequences would contain less DC content depending on the ratio of 1's to 0's in the sequence.

One drawback of this solution is that it produces signficant energy at the frequency of the LFSR clock, which is typically a much higher frequency than the apparent frequency of the sequence. With short sequence lengths at audio rates, this can manifest as a high-pitched buzzing sound, which makes the module somewhat less useful as a general-purpose oscillator. This is not too difficult to implement in the CPLD, but does require the device to be reprogrammed and so generally won't be an accessible option for the user.

Length Knob/CV Curves

Since sequences of length 1 produce no sound in the current implementation, the inclusion of 1 as a selectable sequence length has a significant impact on the behavior of the module. The sequence of length 2 is a simple square wave, and is useful as a a simple and reliable baseline tone. Higher sequence lengths introduce more variability and are expected to be less predictable. A sequence of length 1 behaves differently. Length 1 sequences are available on every configuration having an odd number of feedback taps, so this configuration is expected to produce the most variable and unpredictable behavior as other parameters are used to select different kinds of length 1 configurations.

Assuming the maximum length sequence is placed at one end of the knob, and the minimum length sequence placed at the other end, the inclusion of a length 1 sequence determines the default behavior of the module with the knob turned all the way in one direction. Without the length 1 sequence, the lower extreme of the length knob is a simple and repeatable waveform. With a sequence of length 1, the lower extreme of the length knob produces a behavior that is not as generally useful as a simple waveform but that might still have some interesting applications. Including a length-1 sequence gives the user more options but makes it slightly more tedious to access the more common length-2 sequence.

When the module is operated with frequency lock disabled, the length control acts somewhat link a pitch control. Increasing length decreases pitch by dividing the base frequency of the LFSR. It makes sense then to use 1v/oct control for length CV so that the module can be played somewhat more like a performer might play an LFSR with direct control of the feedback configuration, by changing taps to select a pitch.

Since pitch increases as frequency decreases, there is a trade off in mapping the upper and lower extremes of the length knob to the maximum and minimum sequence lengths. Turning the knob to the right can increase frequency, causing the knob and CV input to both behave as pitch controls, or turning the knob to the right can increase sequence length, yielding an intuitive control of the underlying parameter at the cost of behaving differently from the CV control.

The below histogram shows how tap configurations are distributed across the length knob depending on whether it is treated as a pitch control over 12 octaves or a linear control from 1 to 4095:

The exponential curve does a decent job of spreading sequences. The shorter and simpler lengths are spread far apart making them relative easily to select, while the longer sequences are distributed pretty uniformly over the rest of the range.

need histogram of length distribution

sequence length and pitch (length as pitch control in w/ frequency lock disabled)

v/oct tracking

sequence distribution (and length selection difficulty)

noise/ resolution limits (and 11-12 octave range problems)

Parameters

need to disambiguate tap options

Chance

Diversity

Other Options