Skip to content

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

Notifications You must be signed in to change notification settings

rio-rattenrudel/shruthi-1

 
 

Repository files navigation

Shruthi-1 - MOD

Preamble

This fork contains minor modifications to the original shruthi (1.03) Master Branch. The customizations are compatible (except the "grove templates" storage) with the original version, which lies in the branch 'original'. All changes in the source are uniformly marked with beginning and ending comment.

Modifications

  1. SEQ Handling - External BPM
  • Sequences operated by external BPM should behave like driven by internal BPM. That is, sequences are controlled by NOTE On/Off, but the external tempo is used.
  • Furthermore, the 12 ticks delay was removed, which otherwise can not be programmed exactly.
  1. Fixed: SEQ Rhythm Page Editor
  • Now the page will be displayed correctly (with shifted offset)
  • It is now possible to move with P1, equivalent to the Step Sequencer
  1. Fixed: SEQ Tracker & Rhythm Editor II
  • Now the tracker is displayed correctly (with shifted offset)
  • The Encoder increment is fixed for Rhythm Page Editor
  • Refactoring
  1. Feature: Pattern Rotation Storage
  • Now the patch contains the "pattern rotation" that is shared with "groove template" storage (Upper Nibble).
  • A pattern rotation reset is added for "non-running" patch changes
  • Note: affects data storage

5a. Feature: SEQ Tracker Editor III

  • Now the "pattern rotation" and "pattern length" can be changed in the tracker page using P1 and P4 while holding S2.

5b. Feature: SEQ Tracker Editor III - part B

  • A step can be copied to another position by P2 while holding S2
  • Steps can be deleted by P2 while holding S6 (SHIFT) + S2

5c. Feature: SEQ Tracker Editor III - part C

  • A part of the pattern can be splitted/copied for every 16th ,8th ,4th ,2th ,1st step(s) by P3 while holding S2
  • "Step deletion" resets note to "C3"
  • improved S2 handling (S2 also takes the cursor position of the rhythm/controller-page into account)

6a. Feature: Disable paused overlay - Goto Page instead (XT)

6b. Feature: Goto Page II (XT)

  • For the XT programmer, you can go directly to the corresponding page when you change an xt parameter (DISABLE_PAUSED_OVERLAY_GOTOPAGE = 1).
  • Furthermore, the second filter page (multimode filter page) can be fixed when Filter1 parameters are changed (no page jump), which is useful to change both filter1 and filter2 parameters at the same time (with P1..4 and XT filter section) (STAY_ON_MULTI_FILTER_PAGE = 1).
  • Last but not least, a shorter screensaver time can be set as seconds to extend the life of OLED (SCREENSAVER_TIME = 100).
  1. Feature: SEQ_Cursor
  • The Shruthi can now remember the last cursor position when jumping between SEQ views.
  • This feature requires enabled flag: (SEQ_CURSOR = 1)
  1. Feature: SEQ XT Control
  • Some XT knobs/parameters can be used for easier operation in SEQ views:
    OSC_PARAMETER_2: scrolls (S1: move step, S1+S6: delete)
    OSC_RANGE_2:     rotate
    OSC_OPTION_2:    set length

    OSC_PARAMETER_1: ignored
    OSC_RANGE_1```:  delete

    ENV_ATTACK_2:    ignored
    ENV_DECAY_2:     ignored
    ENV_SUSTAIN_2:   ignored
    ENV_RELEASE_2:   change note

    ENV_ATTACK_1:    ignored
    ENV_DECAY_1:     ignored
    ENV_SUSTAIN_1:   ignored
    ENV_RELEASE_1:   ignored
  • This feature requires enabled flags: (DISABLE_PAUSED_OVERLAY_GOTOPAGE = 1) and (SEQ_XT_CONTROL = 1)
  • Refactoring has created more space (smaller build size)

Build size

64502 (max: 64512)

with all flags on:

#define DISABLE_PAUSED_OVERLAY_GOTOPAGE 1
#define SCREENSAVER_TIME                29
#define STAY_ON_MULTI_FILTER_PAGE       1
#define SEQ_CURSOR                      1
#define SEQ_XT_CONTROL                  1

64410 (max: 64512)

Original Notes

Shruthi-1, a digital/analog hybrid MIDI monosynth.

This project is a redesign of the original Shruti-1, with a spec'ed up CPU,
and a focus on easy upgrades/modification of the analog section.
The ATMega644p allows new features in the firmware -- a larger selection of
oscillator algorithms, a bigger selection of wavetables, and a tiny sequencer.

Original developer: Emilie 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.9%
  • Python 4.7%
  • Makefile 0.4%