Hexaphonic Serial Audio Processor — User Guide
Six independent 12-step control sequences organize amplitude modulation, source-segment duration, stereo position, and tape-speed transposition. The processor moves through four serial transformation sections and repeats the 48-event cycle until the entire source has been consumed.
What this does
Hexaphonic Serial Audio Processor turns one Sound into a sequence of serially controlled stereo events. Six separate 12-value control sequences determine modulation rate, modulation depth, waveform shape, source-segment duration, stereo position, and tape-speed transposition. The sequences are transformed and cross-coupled across four sections, producing a changing but systematically organized set of processing decisions.
The processor reads forward through the source without rearranging source order. The Duration row decides how much source time each event consumes; the Speed row can make the corresponding output event shorter or longer. When one 48-event serial cycle finishes and source audio remains, the same four-section cycle begins again from its first event.
Processing pipeline
Select exactly one Sound → create a zero-based mono working source → retain the original sample rate and source start time.
2. Six control sequences
Parse Rate, Depth, Shape, Duration, Panning, and Speed sequences → generate P, I, R, and RI forms for each sequence.
3. Four serial sections
Process Sections A–D, twelve events per section, using different combinations of P/I/R/RI forms.
4. Event processing
Extract the next source span → apply tape-speed transposition → apply amplitude modulation → convert the mono event to equal-power stereo according to the Panning value.
5. Continue to end of source
After 48 events, repeat the serial cycle if source material remains. The last event is shortened when necessary so source extraction never runs past the end.
6. Assemble output
Concatenate all stereo events in order → restore the original Sound start time → apply Safety peak attenuation only when required.
Six 12-step control sequences
| Sequence | What values 0…11 control |
|---|---|
| Mod rate | Amplitude-modulation rate between Min rate and Max rate. |
| Mod depth | Amplitude-modulation depth between Min depth and Max depth. |
| Mod shape | Selects sine, triangle, square, or sawtooth modulation. |
| Duration | Amount of source time consumed by the event, between Min duration and Max duration. |
| Panning | Places the mono event from full left through exact center to full right. |
| Speed | Tape-speed transposition from −6 to +5 semitones. |
Serial transformations
For every control sequence, the script creates four related forms:
I is therefore a direct numerical complement over the 0…11 control range. It is used as a parameter transformation; the script does not transpose an inversion to preserve a particular first element.
Four-section cross-coupling
| Section | Rate | Depth | Shape | Duration | Pan | Speed |
|---|---|---|---|---|---|---|
| A | P | P | P | P | P | P |
| B | I | R | P | I | R | I |
| C | R | P | I | R | I | R |
| D | RI | I | R | RI | P | RI |
One complete pass through A–D contains 48 events. This is a cycle length, not a fixed output segment count: short sounds may end before 48 events, while long sounds can require several cycles. A workload guard stops processing if more than 5000 serial events would be required.
Parameter mapping
Modulation rate
With the default Perceptual rate scaling, Rate values are mapped exponentially:
When perceptual scaling is disabled, the mapping is linear:
Modulation depth
Four AM waveforms
| Shape values | Modulator | Applied multiplier |
|---|---|---|
| 0–2 | Sine | 1 + depth × sin(2π rate t) |
| 3–5 | Triangle | 1 + depth × triangle(t) |
| 6–8 | Square | 1 + depth × square(t) |
| 9–11 | Sawtooth | 1 + depth × saw(t) |
The modulation is centered around unity gain. With Depth constrained to 0…1, the instantaneous gain remains between 1−depth and 1+depth.
Source duration
This controls how much of the input timeline is consumed before the next serial event begins.
Tape-speed transposition
Value 0 gives −6 semitones, value 6 gives 0 semitones, and value 11 gives +5 semitones. The segment is first reinterpreted at the changed sampling frequency and then resampled back to the original sample rate. This behaves like tape-speed change: pitch and duration change together. Positive transposition shortens the output event; negative transposition lengthens it.
Stereo panning
The Panning sequence uses a piecewise 0…1 map so that row value 6 is exactly center:
This is equal-power panning, not the linear gain law described in the older documentation.
Presets
The preset chooses the six prime control sequences. Parameter ranges remain controlled by Advanced settings.
| Preset | Implementation |
|---|---|
| Custom | Uses the six sequences entered in the main form. |
| Classic Webern | Loads the script's Webern-labelled six-sequence set. |
| Berg Symmetrical | Loads the Berg-labelled six-sequence set. |
| Schoenberg Op.25 | Loads the Schoenberg-labelled six-sequence set. |
| Chromatic Ascent | Uses strongly ordered ascending/complementary control patterns. |
| All-Interval | Loads the dedicated AllInterval control set. |
| Pentatonic Serial | Loads the dedicated Pentatonic-labelled control set. |
| Whole-Tone Serial | Loads the dedicated WholeTone-labelled control set. |
| Random Permutations | Generates six independent random permutations of 0…11. |
Random reproducibility
Random seed = 0 uses an unpredictable random state. Any non-zero seed initializes the Random Permutations preset predictably, so the same seed reproduces the same six generated sequences.
Advanced settings
| Parameter | Default | Role | Behavior |
|---|---|---|---|
| Min / Max rate | 0.5 / 50 Hz | Rate mapping | Endpoints for row values 0 and 11. |
| Min / Max depth | 0.05 / 0.95 | AM depth | Must remain within 0…1. |
| Min / Max duration | 0.1 / 3.0 s | Source segmentation | Controls source time consumed per event. |
| Perceptual rate scaling | On | Rate mapping | On = exponential; Off = linear. |
| Random seed | 0 | Random preset | 0 = unpredictable; non-zero = repeatable. |
| Safety peak | 0.99 | Output protection | Attenuates only when the assembled output exceeds the target. |
Source, channels, timing, and output
Mono analysis/processing source
The selected Sound is deliberately collapsed to mono before serial processing. For multichannel input, Praat first uses Convert to mono. If that downmix almost completely cancels relative to the original peak, the script falls back to channel 1 instead of processing a near-silent cancellation result.
Stereo is newly created
Every processed mono event is copied to left and right with equal-power gains derived from the Panning sequence, then combined to stereo. Consequently, the original stereo or multichannel image is not preserved; spatialization is rebuilt by the serial pan row.
Duration
The whole source is consumed exactly once in forward source order, but output duration is generally different from input duration because tape-speed transposition changes each event's duration. The final source event is truncated at the source end rather than extending beyond it.
Sample rate and start time
The final Sound uses the original sampling frequency. Processing is performed on a zero-based source copy so non-zero input start times do not disturb segment indexing; after concatenation the original Sound start time is restored.
Safety peak
Safety peak is not normalization. The script measures the assembled stereo output and applies gain only when the absolute peak exceeds the requested ceiling. Signals already below the ceiling are left at their existing level.
Visualization
The AudioTools picture summarizes the transformation rather than attempting to plot every parameter of every event.
| Panel | What it shows |
|---|---|
| Input | A mono display copy of the selected source. |
| Output | A mono display fold-down of the final stereo result. |
| Events | Actual event boundaries on the output-time axis. Colors distinguish Sections A–D. Up to the first 200 events are stored for this timeline. |
| Rate row | The 12 values of the prime Rate sequence. |
| Pan row | The 12 values of the prime Panning sequence, with row value 6 marked as the exact center reference. |
| Summary | Actual segment count, output duration, rate/depth/duration ranges, speed range, Safety peak, and stereo-output status. |
Practical reading of the processor
The six sequences form a coordinated control score. A Duration value determines how much source material enters an event; a Speed value determines how that event expands or contracts in the output; Rate, Depth, and Shape determine its amplitude-modulation behavior; and Pan places the resulting event in the stereo field. The P/I/R/RI section scheme changes how those six control streams relate over time, while repeated 48-event cycles allow the same formal mechanism to operate on sources of arbitrary practical length.