SH-101 family: the MC-202, and the SH-09 and SH-2 #33

Closed
opened 2026-10-12 21:15:27 +00:00 by bcox · 5 comments
Owner

Ben asked on 2026-10-12 which instruments of the families already here were missed, and for an issue a family. Everything below is from recollection, with no manual read; issue #20's list was wrong in several places for the same reason, so read the manuals first and correct this. Each is to be an extension of the existing instrument, as the Jupiters and the JX family are, never a "model" switch.

  • MC-202 MicroComposer, 1983: recalled as the SH-101's voice with no noise and a simpler sub oscillator, under a two-channel sequencer. The voice is the work here; its sequencer goes with #5.
  • SH-09 (1980) and SH-2 (1979): the SH-101's predecessors. The SH-09 is recalled as one VCO and a sub oscillator; the SH-2 as two VCOs and a sub oscillator, which is more than settings.

The MC-202 is second in Ben's order; the SH-09 and SH-2 come in the later pass.

Ben asked on 2026-10-12 which instruments of the families already here were missed, and for an issue a family. **Everything below is from recollection, with no manual read**; issue #20's list was wrong in several places for the same reason, so read the manuals first and correct this. Each is to be an extension of the existing instrument, as the Jupiters and the JX family are, never a "model" switch. - **MC-202 MicroComposer**, 1983: recalled as the SH-101's voice with no noise and a simpler sub oscillator, under a two-channel sequencer. The voice is the work here; its sequencer goes with #5. - **SH-09** (1980) and **SH-2** (1979): the SH-101's predecessors. The SH-09 is recalled as one VCO and a sub oscillator; the SH-2 as two VCOs and a sub oscillator, which is more than settings. The MC-202 is second in Ben's order; the SH-09 and SH-2 come in the later pass.
Author
Owner

The MC-202 half of this is done on the family-extensions branch, not pushed. (Written by Claude.) The SH-09 and SH-2 are untouched.

What Roland's documents showed against the recollection. The owner's manual (August 1983, on Roland's own archive; its second volume is the synthesizer's) and the service notes (21 August 1983) were both found and read.

  • "No noise": right. The mixer is pulse, sawtooth and sub oscillator.
  • "A simpler sub oscillator": not so. It has the SH-101's three waveforms on the same switch (1 octave down square, 2 octaves down square, 2 octaves down pulse), and the parts list names the SH-101's CEM3340, IR-3109 and BA662A.
  • Less than an SH-101 otherwise: no LFO waveform switch, no envelope trigger switch (a legato note does not start the envelope again), no bender, lever or transpose switch, shorter envelope and portamento times.
  • More than an SH-101, which the issue did not mention: an LFO DELAY slider (to 1 s), an ACCENT knob, and a tune knob of 100 cents either way, not 50.
  • The specifications list the range as 16', 8', 4'; the manual's words and the block diagram have 2' too.

What was built, in mini-101, each at nothing until asked for, so existing patches render as they did:

  • lfo.delay: by the block diagram the delay sits between the LFO and the two MOD sliders and the gate starts it, so the pitch and cutoff modulation wait after a key struck with none held, and the pulse width's LFO does not.
  • accent.level and accent.filter: by the block diagram an accent is a second copy of the envelope through the knob, added at the VCA, and by a second switch at the VCF as well. The hardware's sequencer marks which notes have one; with no sequencer, a note struck at MIDI velocity 100 or more has it.
  • vco.tune now reaches 100 cents either way.

An MC-202 is otherwise settings: noise.level 0, lfo.wave 0, env.trigger 1. Nothing in engine/ changed. The bench was run on the Pi before and after and did not move.

Not done: the sequencer, which goes with #5 (a note is there). Not heard by anyone. The choices that want Ben's word are under "Open decisions" in CLAUDE.md: accent by velocity and its threshold, how much an accent adds (placeholders: 6 dB and two octaves), the delay's fade, whether the delayed LFO is rounder than a triangle (the drawings hint at it; no sine was added), and widening vco.tune for every patch.

The MC-202 half of this is done on the `family-extensions` branch, not pushed. (Written by Claude.) The SH-09 and SH-2 are untouched. **What Roland's documents showed against the recollection.** The owner's manual (August 1983, on Roland's own archive; its second volume is the synthesizer's) and the service notes (21 August 1983) were both found and read. - "No noise": right. The mixer is pulse, sawtooth and sub oscillator. - "A simpler sub oscillator": not so. It has the SH-101's three waveforms on the same switch (1 octave down square, 2 octaves down square, 2 octaves down pulse), and the parts list names the SH-101's CEM3340, IR-3109 and BA662A. - Less than an SH-101 otherwise: no LFO waveform switch, no envelope trigger switch (a legato note does not start the envelope again), no bender, lever or transpose switch, shorter envelope and portamento times. - More than an SH-101, which the issue did not mention: an LFO **DELAY** slider (to 1 s), an **ACCENT** knob, and a tune knob of 100 cents either way, not 50. - The specifications list the range as 16', 8', 4'; the manual's words and the block diagram have 2' too. **What was built**, in mini-101, each at nothing until asked for, so existing patches render as they did: - `lfo.delay`: by the block diagram the delay sits between the LFO and the two MOD sliders and the gate starts it, so the pitch and cutoff modulation wait after a key struck with none held, and the pulse width's LFO does not. - `accent.level` and `accent.filter`: by the block diagram an accent is a second copy of the envelope through the knob, added at the VCA, and by a second switch at the VCF as well. The hardware's sequencer marks which notes have one; with no sequencer, a note struck at MIDI velocity 100 or more has it. - `vco.tune` now reaches 100 cents either way. An MC-202 is otherwise settings: `noise.level` 0, `lfo.wave` 0, `env.trigger` 1. Nothing in `engine/` changed. The bench was run on the Pi before and after and did not move. **Not done:** the sequencer, which goes with #5 (a note is there). **Not heard** by anyone. The choices that want Ben's word are under "Open decisions" in CLAUDE.md: accent by velocity and its threshold, how much an accent adds (placeholders: 6 dB and two octaves), the delay's fade, whether the delayed LFO is rounder than a triangle (the drawings hint at it; no sine was added), and widening `vco.tune` for every patch.
Author
Owner

The SH-09 and the SH-2, the second half (commit 6d870b6 on family-extensions, not pushed; written by Claude with Ben away).

Roland's owner's manuals and service notes for both were found and read (links in docs/references.md). The owner's manuals were read as recognized text; of the service notes the specifications and block diagrams were read and the schematics only looked at, not traced.

What the manuals showed against the recollection

  • SH-09, "one VCO and a sub oscillator": right. The sub oscillator is the SH-101's three (square one or two octaves down, pulse two down). Its VCO gives one waveform at a time, noise being one position of the switch.
  • SH-2, "two VCOs and a sub oscillator, which is more than settings": right as far as it goes. Its sub oscillator is the plain one, a square an octave under VCO-1. Not recalled: a sine on VCO-1, an autobend, a switch that keeps the bender from VCO-1, and VCO-2's tune knob with a WIDE (1750 cents) and NARROW (200) range. There is no sync and no ring modulator, so it does not sit nearer the SH-5.
  • Both: a fifth range, 32'; a VCA switch with HOLD; low note priority whatever the envelope switch says; an LFO whose wave is a sine, with a delay (to 1.5 s) that the manuals say "has no effect on the Square wave and Random S/H outputs"; an external audio input with an envelope follower to the filter. Their filter is four BA662s, not the SH-101's chip.
  • The SH-09's owner's manual lists "AUTO BEND" in its specifications and nowhere else; taken for a slip from the SH-2's.

What was built, each at nothing until asked for, in mini-101:

  • voice.low_note, lfo.sine, amp.mode 2 (hold), vco.octave to -2 (32'), vco.tune to 200 cents.
  • For the SH-2: vco2.octave, vco2.tune, vco2.saw, vco2.pulse (a second VCO, not worked out while both levels are at nothing), vco.sine, autobend.amount, autobend.time, bend.vco2_only.
  • lfo.delay now keeps back the LFO's own wave alone, as the two manuals say; as written for the MC-202 it kept back whatever lfo.wave chose.
  • engine/auto_bend.h is new; engine/ramp_oscillator.h gained a sine the Juno does not use (the Juno's Pi bench is byte-identical before and after).

Not done: the external input and envelope follower (issue #17); the delay starting over at a key struck below a held one; and reading the schematics for how the VCOs make their waveforms, so the SH-101's one-ramp oscillator stands for both on the block diagrams' evidence alone.

For Ben's word (all under "Open decisions" in CLAUDE.md): that the SH-2 is an extension and not a mini2; the oscillator choice; the autobend's depth and time, which Roland does not give; vco2.tune as one parameter in semitones; the changed reach of lfo.delay; and HOLD with several voices.

bazel test //... passes. The SH-101's bench was run on the Pi before and after, twice, beside another session's miniomnid, and did not move; a voice with the second VCO at work was not measured. Nothing has been played or heard.

**The SH-09 and the SH-2, the second half** (commit 6d870b6 on `family-extensions`, not pushed; written by Claude with Ben away). Roland's owner's manuals and service notes for both were found and read (links in `docs/references.md`). The owner's manuals were read as recognized text; of the service notes the specifications and block diagrams were read and the schematics only looked at, not traced. **What the manuals showed against the recollection** - SH-09, "one VCO and a sub oscillator": right. The sub oscillator is the SH-101's three (square one or two octaves down, pulse two down). Its VCO gives one waveform at a time, noise being one position of the switch. - SH-2, "two VCOs and a sub oscillator, which is more than settings": right as far as it goes. Its sub oscillator is the plain one, a square an octave under VCO-1. Not recalled: a **sine** on VCO-1, an **autobend**, a switch that keeps the bender from VCO-1, and VCO-2's tune knob with a WIDE (1750 cents) and NARROW (200) range. There is no sync and no ring modulator, so it does not sit nearer the SH-5. - Both: a fifth range, 32'; a VCA switch with HOLD; **low note priority** whatever the envelope switch says; an LFO whose wave is a sine, with a delay (to 1.5 s) that the manuals say "has no effect on the Square wave and Random S/H outputs"; an external audio input with an envelope follower to the filter. Their filter is four BA662s, not the SH-101's chip. - The SH-09's owner's manual lists "AUTO BEND" in its specifications and nowhere else; taken for a slip from the SH-2's. **What was built**, each at nothing until asked for, in mini-101: - `voice.low_note`, `lfo.sine`, `amp.mode` 2 (hold), `vco.octave` to -2 (32'), `vco.tune` to 200 cents. - For the SH-2: `vco2.octave`, `vco2.tune`, `vco2.saw`, `vco2.pulse` (a second VCO, not worked out while both levels are at nothing), `vco.sine`, `autobend.amount`, `autobend.time`, `bend.vco2_only`. - `lfo.delay` now keeps back the LFO's own wave alone, as the two manuals say; as written for the MC-202 it kept back whatever `lfo.wave` chose. - `engine/auto_bend.h` is new; `engine/ramp_oscillator.h` gained a sine the Juno does not use (the Juno's Pi bench is byte-identical before and after). **Not done:** the external input and envelope follower (issue #17); the delay starting over at a key struck below a held one; and reading the schematics for how the VCOs make their waveforms, so the SH-101's one-ramp oscillator stands for both on the block diagrams' evidence alone. **For Ben's word** (all under "Open decisions" in CLAUDE.md): that the SH-2 is an extension and not a `mini2`; the oscillator choice; the autobend's depth and time, which Roland does not give; `vco2.tune` as one parameter in semitones; the changed reach of `lfo.delay`; and HOLD with several voices. `bazel test //...` passes. The SH-101's bench was run on the Pi before and after, twice, beside another session's `miniomnid`, and did not move; a voice with the second VCO at work was not measured. Nothing has been played or heard.
Author
Owner

Ben answered on 2026-10-12 whether the SH-2 should be an instrument of its own: "extensions, as long as they fit in the same engine and run on the pi." It stays in mini-101. Benched on the Pi that day as an SH-2 (second VCO, sine, autobend): 1.5% of one core for one voice, 8.9% for six, 47.5% for thirty-two, and 49.0% for thirty-two with the effects.

Ben answered on 2026-10-12 whether the SH-2 should be an instrument of its own: "extensions, as long as they fit in the same engine and run on the pi." It stays in mini-101. Benched on the Pi that day as an SH-2 (second VCO, sine, autobend): 1.5% of one core for one voice, 8.9% for six, 47.5% for thirty-two, and 49.0% for thirty-two with the effects.
Author
Owner

Closed by Ben's word on 2026-10-12. The work is on the branch family-extensions, not yet merged.

Closed by Ben's word on 2026-10-12. The work is on the branch `family-extensions`, not yet merged.
bcox closed this issue 2026-10-13 01:27:31 +00:00
Author
Owner

On the night of 2026-10-12, at Ben's asking and with him playing it on his laptop:

  • The LFO's delay starts over at the keyboard's trigger, as the SH-09's and SH-2's manuals say: at a key struck with none held, and whenever the key that sounds changes while one is held. With several voices every key struck starts it over for all. A stored patch with a delay and the triangle wave sounds different played legato. He heard it and asked for nothing of it to change.
  • An accent comes and goes over a hundredth of a second on a voice that is sounding, at the cutoff and the loudness, after he heard a click when a legato note with no accent followed one with.
  • Key priority's first position reads "Per Env" on the page, with its full wording shown when the pointer rests on it; web/page/app.js can now do that for any readout.
  • Heard and approved: the SH-2's second VCO, sine and autobend. Confirmed: an accent as a note struck at 100 or harder until the shared sequencer (#56) carries its own; accent.filter in the patch; the second VCO's waveform as two levels; vco2.tune in semitones.

Everything said here is on main, pushed, on the night of 2026-10-12. What was heard was heard on Ben's laptop, not on the Pi.

On the night of 2026-10-12, at Ben's asking and with him playing it on his laptop: - **The LFO's delay starts over at the keyboard's trigger**, as the SH-09's and SH-2's manuals say: at a key struck with none held, and whenever the key that sounds changes while one is held. With several voices every key struck starts it over for all. A stored patch with a delay and the triangle wave sounds different played legato. He heard it and asked for nothing of it to change. - **An accent comes and goes over a hundredth of a second** on a voice that is sounding, at the cutoff and the loudness, after he heard a click when a legato note with no accent followed one with. - **Key priority's first position reads "Per Env"** on the page, with its full wording shown when the pointer rests on it; `web/page/app.js` can now do that for any readout. - **Heard and approved**: the SH-2's second VCO, sine and autobend. Confirmed: an accent as a note struck at 100 or harder until the shared sequencer (#56) carries its own; `accent.filter` in the patch; the second VCO's waveform as two levels; `vco2.tune` in semitones. Everything said here is on `main`, pushed, on the night of 2026-10-12. What was heard was heard on Ben's laptop, not on the Pi.
Sign in to join this conversation.
No labels
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/mini-800#33
No description provided.