Duophony: two oscillators of one voice on two keys, which paraphony does not give #114

Open
opened 2026-10-05 23:35:05 +00:00 by bcox · 0 comments
Owner

bcox asked on 2026-10-05 for a ticket for each engine gap that the third set of instruments in his moregaps.md left without one. Engine claims are from reading the tree at f6aa8eba on main. Instrument claims are from that day's research, read mostly as archive.org OCR of the manuals by research agents and not re-checked; the sources are listed in that document. Nothing here is built, measured or listened to.

Summary

A duophonic instrument is one voice whose two oscillators follow different keys: the lowest held and the highest held, both on the one key when only one is down. One filter, one amplifier, one set of envelopes. Its character is that sync, ring modulation, cross-modulation and the sample-and-hold mixer act between the two oscillators while they are on different keys.

What the instruments do

  • Odyssey: VCO 1 takes the lowest key, VCO 2 the highest (the service manual's specification says so outright). The second pitch is remembered through the release. VCO 2 syncs to VCO 1; the ring modulator is an exclusive-or of the two pulses.
  • CAT: VCO 2 always plays the lowest key; VCO 1 plays the lowest, the highest, or a fixed pitch. The SRM adds a memory per note.
  • Quadra: the lead section is a two-note synth of two VCOs.
  • Teisco S-110F: VCO I takes the higher key, VCO II the lower.
  • ARP 2600 with the 3620 keyboard: not checked.

Why #108 does not cover it

  • #108 cuts the voice after the oscillator section and shares the filter row and VCA. Each key is still a whole voice with every oscillator at that key's pitch; two keys on an Odyssey patch would sound four oscillators, not two.
  • Sync, ring and cross-mod sit ahead of that cut, per voice. Two voices cannot sync or ring each other.
  • Note priority (#113) picks one key; this needs two at once, each steering a different oscillator.

What is here

  • Key follow is an amount per oscillator around a pivot key, and bend follow is a switch per oscillator (dsp/va_oscillator.h:1088-1098), so an oscillator's pitch is already its own.
  • A pitch-lane route reaches two octaves at full scale (dsp/va_layer.h:2428).
  • The allocator hands every voice on a channel channel-level sources one sample late (kSharedChannelLoad, dsp/mod_source.h:92-98), which is the kind of thing the "other key" is.

The work, as a sketch

Two shapes, the second closer to the hardware:

  1. A shared source: the interval from the voice's key to the channel's highest (or lowest) held key, zero when one key is held, holding its last value through release as the Odyssey does. Route it to oscillator B's pitch lane. One voice under low-note priority; everything between the oscillators works unchanged. Limit: two octaves per pitch route, so a three-octave keyboard needs two routes or a wider lane.
  2. A key source per oscillator: the voice's key, the channel's lowest held, the channel's highest held. No matrix travel limit, and it is what the panel says. The allocator would resolve it per oscillator at note-on and on every held-key change, through the pitch lane each oscillator already reads.

Either way the held-key set comes from #113.

Open

  • Whether the second key retriggers the envelopes (the Odyssey does not: one gate for the voice; the CAT's SRM retriggers on any new key).
  • Glide: the Odyssey glides each VCO to its own new key.
bcox asked on 2026-10-05 for a ticket for each engine gap that the third set of instruments in his `moregaps.md` left without one. Engine claims are from reading the tree at `f6aa8eba` on `main`. Instrument claims are from that day's research, read mostly as archive.org OCR of the manuals by research agents and not re-checked; the sources are listed in that document. **Nothing here is built, measured or listened to.** ## Summary A duophonic instrument is one voice whose two oscillators follow different keys: the lowest held and the highest held, both on the one key when only one is down. One filter, one amplifier, one set of envelopes. Its character is that sync, ring modulation, cross-modulation and the sample-and-hold mixer act between the two oscillators while they are on different keys. ## What the instruments do - Odyssey: VCO 1 takes the lowest key, VCO 2 the highest (the service manual's specification says so outright). The second pitch is remembered through the release. VCO 2 syncs to VCO 1; the ring modulator is an exclusive-or of the two pulses. - CAT: VCO 2 always plays the lowest key; VCO 1 plays the lowest, the highest, or a fixed pitch. The SRM adds a memory per note. - Quadra: the lead section is a two-note synth of two VCOs. - Teisco S-110F: VCO I takes the higher key, VCO II the lower. - ARP 2600 with the 3620 keyboard: not checked. ## Why #108 does not cover it - #108 cuts the voice after the oscillator section and shares the filter row and VCA. Each key is still a whole voice with every oscillator at that key's pitch; two keys on an Odyssey patch would sound four oscillators, not two. - Sync, ring and cross-mod sit ahead of that cut, per voice. Two voices cannot sync or ring each other. - Note priority (#113) picks one key; this needs two at once, each steering a different oscillator. ## What is here - Key follow is an amount per oscillator around a pivot key, and bend follow is a switch per oscillator (`dsp/va_oscillator.h:1088-1098`), so an oscillator's pitch is already its own. - A pitch-lane route reaches two octaves at full scale (`dsp/va_layer.h:2428`). - The allocator hands every voice on a channel channel-level sources one sample late (`kSharedChannelLoad`, `dsp/mod_source.h:92-98`), which is the kind of thing the "other key" is. ## The work, as a sketch Two shapes, the second closer to the hardware: 1. A shared source: the interval from the voice's key to the channel's highest (or lowest) held key, zero when one key is held, holding its last value through release as the Odyssey does. Route it to oscillator B's pitch lane. One voice under low-note priority; everything between the oscillators works unchanged. Limit: two octaves per pitch route, so a three-octave keyboard needs two routes or a wider lane. 2. A key source per oscillator: the voice's key, the channel's lowest held, the channel's highest held. No matrix travel limit, and it is what the panel says. The allocator would resolve it per oscillator at note-on and on every held-key change, through the pitch lane each oscillator already reads. Either way the held-key set comes from #113. ## Open - Whether the second key retriggers the envelopes (the Odyssey does not: one gate for the voice; the CAT's SRM retriggers on any new key). - Glide: the Odyssey glides each VCO to its own new key.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
bcox/tymbal#114
No description provided.