Skip to content

This is firmware for the Ginkosynthese Seeds that adds a chord organ as an extra voice.

License

Notifications You must be signed in to change notification settings

Trainzack/seeds-chord-organ

Repository files navigation

Seeds Chord Organ

This is firmware for the Ginkosynthese Seeds that adds a chord organ as an extra voice.

The chord organ is composed of four slightly detuned sawtooth waves, able to be played in a variety of different chords. You can change the root note of the chord via the "Tune" knob or "Pitch" input of your module, and alter the quality of the chords using the "Mod" knob.

This firmware was based upon V1.1 of the manufacturer's firmware.

How to install

This firmware should be installed to the module by the standard method as found on the Ginkosynthese website.

Once the firmware is uploaded, you should be able to access the chord organ via sound 9.

Included Chords

Sound 9 includes the following chord qualities, listed in order from the counterclockwise knob position to the clockwise knob position:

Number Example Chord
1. Audio Octaves
2. Audio Unison
3. Audio Stacked Perfect Fourths
4. Audio Sus4
5. Audio Major
6. Audio Major 7th
7. Audio Dominant 7th
8. Audio Minor 7th
9. Audio Minor Major 7th
10. Audio Augmented

Altering the Tuning

By default, the chords are laid out in equal-temperment. However, there exists an option to use just intonation for the chords. Simply comment out the line #define EQUAL_TEMPERAMENT in the .ino file before uploading the firmware to the module, and it will use just intonation for the chords.

Note that the just intonation chords will sound more in tune with themselves, but might clash more with other notes.

Changing the Chords

If you would like to change the included chords in this module, you can do that by altering the chords[][] array in the .ino file. The non-equal-temperment version is set as the following:

const uint16_t chords[][4] = {
  { 256, 128, 256, 512},  // 8ves
  { 256, 256, 256, 256},  // unison
  { 256, 341, 455, 607},  // stacked perfect 4ths
  { 256, 384, 512, 683},  // sus4
  { 256, 384, 512, 640},  // major
  { 256, 384, 483, 640},  // major 7th
  { 256, 384, 455, 640},  // dominant 7th
  { 256, 384, 455, 614},  // minor 7th
  { 256, 384, 483, 614},  // minor major 7th
  { 256, 406, 512, 645},  // augmented
};

The data for each chord is represented by a sub-array of four numbers. You may alter these numbers to change the chord quality. Each number controls the pitch of one voice. The number is the ratio between the frequency of the root of the chord and the frequency of the voice in question, multiplied by 256. A list of these numbers for each of the 24 semitones above the root can be found above the array in the source code. Alternatively, you may work out the ratios mathematically, and use any tuning system that you want.

Though all of the chords included have the same root note, there is no requirement in the code for that to be the case, so you should be able to make chords have different roots.

You can also change the number of chords by adding or removing sub-arrays. In this case, be sure to update the num_chords variable to match the number of chords in the array.

About

This is firmware for the Ginkosynthese Seeds that adds a chord organ as an extra voice.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published