Shruti-1 code

For those who understand these things, the code for the Shruti-1 has been published by Olivier here.

1 comment:

Anonymous said...


"Here are some specs:

- mono audio output and input (input is sent to filter/VCA).
- MIDI in/out.
- 3 CV inputs (0-5V) on pin header.
- TX/RX/RST pins for onboard programming with an usb->serial chip.

- 12 LEDs (current page / modulation matrix visualization).
- 2x16 LCD display.
- 5 switches to navigate through 12 parameter pages.
- 4 pots for patch editing (4 parameters per page).
- 2 inc/dec switches.

2 digital oscillators:
- Available for Osc1&Osc2:
* band limited wavetables: pulse, square (with pulse-width modulation), triangle with waveshapping, sawtooth.
- Available only for Osc1:
* sawtooth with sweepable resonance (casio cz-like).
* simplistic FM.
* lo-fi vowel synthesis (think “speak and spell”).
* cheap 8bit waveforms with plenty of aliasing.
* cheap square/PWM with even more aliasing.
* colored noise.
* 32 waveforms sweepable wavetable.
* “sweep” oscillator which scans through all the waveforms.
- Noise & sub-oscillator.

Modulation and filtering:
- CEM3379 filter.
- 2 LFO (square, sawtooth, triangle, sample & hold), syncable to tempo & MIDI clock.
- 2 ADSR envelopes.
- 16-steps step sequencer.
- 14 patchcords modulation matrix (16 modulation sources, 11 destinations). Modulation sources include MIDI controllers, pitch bend wheel and modulation, CV inputs, gater…

- Arpeggiator with 15 different patterns + each of them with direction and octave setting.
- Support for (some) indian/arabic scales.
- “Patch performance” page in which 4 user-selectable parameters can be assigned to the 4 editing pots.

- MIDI implementation with patch load/save by SysEx, patch editing by NRP.
- Patch memory: 16 patches."