ghostintranslation / synth

Licence: MIT license
A Teensy 4 modular FM polyphonic synth.

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to synth

Audiobench
Open source modular synthesizer
Stars: ✭ 63 (+61.54%)
Mutual labels:  modular, midi, synthesizer
MicroDexed
Dexed port for Teensy (3.5/3.6 with audio shield)
Stars: ✭ 20 (-48.72%)
Mutual labels:  teensy, midi, synthesizer
tune
Make xenharmonic music and create synthesizer tuning files for microtonal scales.
Stars: ✭ 73 (+87.18%)
Mutual labels:  modular, midi, synthesizer
Shaden
🎧 A modular audio synthesizer.
Stars: ✭ 175 (+348.72%)
Mutual labels:  modular, midi, synthesizer
kiro-synth
Modular sound synthesizer written in Rust
Stars: ✭ 62 (+58.97%)
Mutual labels:  modular, midi, synthesizer
Arduino-USBMIDI
Allows a microcontroller, with native USB capabilities, to appear as a MIDI device over USB to a connected computer
Stars: ✭ 98 (+151.28%)
Mutual labels:  teensy, midi
guitar
🎸 Online guitar toy and tablature recorder/player
Stars: ✭ 80 (+105.13%)
Mutual labels:  midi, synthesizer
CureSynth Whip
Polyphonic MIDI Synthesizer for STM32F7
Stars: ✭ 45 (+15.38%)
Mutual labels:  midi, synthesizer
flow-synth
*UNMAINTAINED* A modular digital audio workstation for synthesis, sequencing, live coding, visuals, etc
Stars: ✭ 36 (-7.69%)
Mutual labels:  modular, synthesizer
twigs
Alternate firmware for Mutable Instruments Branches synthesizer module
Stars: ✭ 21 (-46.15%)
Mutual labels:  modular, synthesizer
synthrs
Toy audio synthesizer library in Rust with basic MIDI support.
Stars: ✭ 73 (+87.18%)
Mutual labels:  midi, synthesizer
teensy-midi-looper
teensy midi loop recorder
Stars: ✭ 30 (-23.08%)
Mutual labels:  teensy, midi
webaudio-synth
WebAudio Polyphonic Synthesizer
Stars: ✭ 83 (+112.82%)
Mutual labels:  midi, synthesizer
esp32 basic synth
ESP32 based simple synthesizer project
Stars: ✭ 134 (+243.59%)
Mutual labels:  midi, synthesizer
SimpleSynth
Teensy synth made simple.
Stars: ✭ 33 (-15.38%)
Mutual labels:  teensy, synthesizer
AtomSynth
A modular synthesizer built using the juce api.
Stars: ✭ 20 (-48.72%)
Mutual labels:  modular, synthesizer
esp32 multitrack looper
ESP32 Audio Kit based multitrack looper
Stars: ✭ 43 (+10.26%)
Mutual labels:  midi, synthesizer
mt32-pi-control
MT32-PI.EXE/MT32-PI.TTP/mt32-pi-ctl is a control program for the mt32-pi MIDI synthesizer available for DOS PCs, Atari ST and Amiga computers as well as modern systems running Linux and Windows.
Stars: ✭ 22 (-43.59%)
Mutual labels:  midi, synthesizer
eurorack-cpu
A CPU implemented in a modular synthesizer
Stars: ✭ 253 (+548.72%)
Mutual labels:  modular, synthesizer
KnobKraft-orm
The KnobKraft Orm - The free modern cross-platform MIDI Sysex Librarian
Stars: ✭ 100 (+156.41%)
Mutual labels:  midi, synthesizer

SYNTH

GitHub version

SYNTH is a modular FM polyphonic synthesizer, based on eurorack physical format it has however no patch cables in the front but has rather midi and audio jacks in the back.

It is based on Motherboard, my modular platform, see in there for schematics.

You can get the PCBs and front panel here:
https://ghostintranslation.bandcamp.com/merch/synth-panel-and-pcb

Features

  • FM synthesis with 1 carrier and 1 modulator
  • 16 voices polyphony
  • Sine and triangle waveforms
  • Arpeggiator and Drone modes
  • Glide
  • MIDI over USB
  • MIDI over mini jack
  • Audio jack output

Dimensions

Height: 3U / 128.5mm

Width: 8HP / 40mm

Getting Started

Prerequisites

What things you need to make it work:

1 Teensy 4.0
1 Teensy audio board
1 MOTHERBOARD6A pcb
1 MOTHERBOARD6B pcb
1 SYNTH front panel pcb
6 vertical linear 10k potentiometers with their nuts
1 5 pins male header
1 5 pins female headers
5 14 pins male header
5 14 pins female header
2 14 pins long female header
4 CD4051 multiplexers
4 DIP16 IC sockets (optional)
2 3.5mm jack connectors
1 resistor ~ 22ohm
2 LED
1 4 positions dipswitch (optional)

Here is a list of useful links to get these parts: https://github.com/ghostintranslation/parts

Note:

  • The resistor doesn't need to be high because the multiplexers already are resistive, so try a few values. You can place the resistor and LEDs without soldering to test, there should be enough contact.
  • The dipswitch is optional, without it the module will listen to channel 1.

Assembly

  1. Solder male 14 pins headers on the audio board
  2. Solder 14 pins long female header and 5 pins male header on Teensy
  3. Solder 14 pins male headers on MOTHERBOARD6A
  4. Place the potentiometers and LEDs on MOTHERBOARD6A, and attach the front panel
  5. Solder the potentiometers and the LEDs
  6. Place the 14 pins and 5 pins female headers for the Teensy on MOTHERBOARD6B, insert the Teensy on them, then solder the headers
  7. Detach the Teensy for now
  8. Solder the jack connectors, the dipswitch and the resistor on MOTHERBOARD6B
  9. Place 14 pins female headers on MOTHERBOARD6B, connect MOTHERBOARD6A on them, then solder the headers
  10. Detach the boards for now
  11. Solder IC sockets on IC1, IC2, IC5 and IC6 positions on MOTHERBOARD6B
  12. Add the multiplexers on the sockets, connect the 2 boards and connect the Teensy and audio board

Note: Be careful how you place the potentiometers:

Firmware

In order to run any sketch on the Teensy you have to install Arduino and the Teensyduino add-on. Follow the instructions from the official page: https://www.pjrc.com/teensy/teensyduino.html

  1. Then open Synth.ino located in the Synth folder of this repo.
  2. In the Tools -> USB Type menu, choose Serial + midi.
  3. Plug the Teensy to your computer with a micro USB cable. (It's ok if the Teensy is on the module)
  4. Then just click the arrow button to upload the code

How to use

Here is a description of the 6 inputs and what they do:

1. Mode
    1. Synth
    2. Arp
    3. Drone
2. Param
    1. Synth: Glide
    2. Arp: Time             
        - Arp with Midi clock   (TODO)
    3. Drone: Free frequency
3. Shape
    - Sine / triangle
4. FM
    - Modulator frequency and amplitude
    - 3 divisions:
        1. 0 to 10Hz, low amplitude
        2. 0 to 40Hz, low amplitude
        3. 0 to 1000Hz, higher amplitude
5. Attack                    (0 to 2000ms)
6. Release                   (0 to 2000ms)

All of the inputs are available via MIDI CC.

MIDI

SYNTH supports MIDI in via USB and TS jack. It doesn't send out any MIDI.

The MIDI in default settings are:

CC 0 = Mode
CC 1 = Param
CC 2 = Shape
CC 3 = FM
CC 4 = Attack
CC 5 = Release

These settings can be changed in the code or via the web editor: http://ghostintranslation.com/editor

Important:

The MIDI input and output jacks are directly connected to the Teensy serial input and output. That means there is not protection against voltage or current. It is primarily ment to connect 2 of these modules, or 2 Teensy together. If you want to connect something else to it make sure to provide a maximum of 3.3v and 250 mA.

About me

You can find me on Bandcamp, Instagram, Youtube and my own site:

https://ghostintranslation.bandcamp.com/

https://www.instagram.com/ghostintranslation/

https://www.youtube.com/channel/UCcyUTGTM-hGLIz4194Inxyw

https://www.ghostintranslation.com/

Support

To support my work:
https://www.paypal.com/paypalme/ghostintranslation

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].