Skip to content
forked from bjoeri/shruthi-1

Firmware and hardware description files for the Shruthi-1, an hybrid monosynth

Notifications You must be signed in to change notification settings

bleo67/shruthi-1

 
 

Repository files navigation

Y A M - Yet Another Mutation

This is a project for various firmware modifications and hacks for Shruthi-1, a digital/analog hybrid MIDI monosynth. 


Here's a short summary of changes _compared_ to official Shruthi-1 firmware 1.02:

* PolyBlep implementations replace the original band-limited 'saw' and 'square' oscillators for higher fidelity and less memory footprint (Polyblep implementations inspired by, but less general than, Oliviers prototype for STM). 

* 'square' is now a Polyblep oscillator with a more proper sounding PWM, i.e. more edginess, and no loudness drop for PWM modulation parameter above 0. 

* 'saw' is now a Polyblep oscillator (withuot any high pass pre-filtering and the modulation is different). The parameter for saw now add mix of a 2nd saw edge, resulting in a saw with sub oscillator (actually super oscillator) sound. 

* 'triangle' is no longer band-limited (to reduce memory footprint) and is folded (instead of clipped) upon modulation. This also means that the 'crush' oscillator is slightly different sounding.

* Added a quad PWM oscillator ('qpwm') very similar to the quad saw ('pad'). The modulation parameter simultaneously affect both detuning of the four pwm oscillators, and the pulse width.

* Added an alternative FM oscillator ('fmfb') with feedback modulation. Just as for the regular FM oscillator, the modulation parameter defines the FM amount, but for modulation values above 64 increasing amount of feedback is added. At moderate levels the feedback adds 'grit'. At higher settings it adds digital distortion (deliberately left in).

* Added a 'csaw' Polyblep oscillator very similar to the CS-80 inspired saw oscillator for Braids. Without modulation it's a plain saw (identical to 'saw'). Modulation adds a 'notch' discontinuity before the ramp.

* Added 'wavquence' oscillator (simply ported from the official Ambika firmware).

* Duo mode voice allocation reverted to 0.96 behaviour (because I subjectively think it's more enjoyable):
  - Press and hold C -> Osc1 plays C; then 
  - Press and hold E -> Osc2 plays C, Osc1 plays E 
  - (Sub is always assigned to lowest note)

SOME TIPS ON PATCH COMPATIBILITY WITH OFFICIAL Shruthi-1 FIRMWARE: 
Due to qualitative differences of the 'saw' and 'square' oscillators etc, levels may have to be adjusted somewhat to mimic original patches. If you really miss the original saw oscillator from the official firmware, this one is still available as 'oldsaw' (it's high-pass sampled and have a different character). In order to maximize patch (actually program) backwards compatibility, the added oscillators are put at the end of the oscillator selection (even though this means fmfb is not next to fm etc).


This repository was originally a copy of the Mutable Instruments GitHub Shruthi-1 repository at https://github.com/pichenettes/shruthi-1

Original developer: Olivier Gillet ([email protected])

The firmware is released under a GPL3.0 license. It includes a
reimplementation of the formant synthesis algorithm used in Peter Knight's
Cantarino speech synthesizer.

The PCB layouts and schematics (in /hardware/shruthi/design/pcb)
are released under a Creative Commons cc-by-sa 3.0 license - except for some
discontinued filter boards which were released under a cc-by-nc-sa 3.0 license.

Documentation, analyses, simulations and 3D models are released under a
Creative Commons cc-by-sa 3.0 license.

About

Firmware and hardware description files for the Shruthi-1, an hybrid monosynth

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 94.1%
  • Python 4.8%
  • Other 1.1%