All Projects → ghostintranslation → SimpleSynth

ghostintranslation / SimpleSynth

Licence: MIT license
Teensy synth made simple.

Programming Languages

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

Projects that are alternatives of or similar to SimpleSynth

arm synth
Wavetable Synth Running on an STM32F 32-bit ARM Cortex M3 microprocessor
Stars: ✭ 23 (-30.3%)
Mutual labels:  synthesizer, polyphonic
synth
A Teensy 4 modular FM polyphonic synth.
Stars: ✭ 39 (+18.18%)
Mutual labels:  teensy, synthesizer
TSynth-Teensy4.1
TSynth for Teensy 4.1
Stars: ✭ 101 (+206.06%)
Mutual labels:  teensy, synthesizer
MicroDexed
Dexed port for Teensy (3.5/3.6 with audio shield)
Stars: ✭ 20 (-39.39%)
Mutual labels:  teensy, synthesizer
Digital Handpan
Code for the Digital Handpan - A project using capacitive touch on the Teensy in conjunction with the Teensy Audio Shield.
Stars: ✭ 25 (-24.24%)
Mutual labels:  teensy, polyphonic
Polaron
A DIY drum machine for the teensy microcontroller (hardware / software)
Stars: ✭ 99 (+200%)
Mutual labels:  teensy, synthesizer
twigs
Alternate firmware for Mutable Instruments Branches synthesizer module
Stars: ✭ 21 (-36.36%)
Mutual labels:  synthesizer
EncoderTool
The EncoderTool is a library to manage and read out rotary encoders connected either directly or via multiplexers to ARM based boards. Encoder push buttons are supported. Callback functions can be attached to encoder changes and button presses to allow for event driven applications
Stars: ✭ 29 (-12.12%)
Mutual labels:  teensy
PolyTuna
A polyphonic tuner pedal
Stars: ✭ 17 (-48.48%)
Mutual labels:  polyphonic
TeensyDMX
A full-featured DMX library for Teensy 3, Teensy LC, and Teensy 4. "Programmable DMX and arbitrary USB serial device emulation."
Stars: ✭ 82 (+148.48%)
Mutual labels:  teensy
Main-Supercollider-Files
my supercollider codes, version history is at the branches
Stars: ✭ 21 (-36.36%)
Mutual labels:  synthesizer
Comet
Web Synthesis on steroids
Stars: ✭ 18 (-45.45%)
Mutual labels:  synthesizer
Kickmess
Kickmess - A kick drum synthesizer plugin
Stars: ✭ 33 (+0%)
Mutual labels:  synthesizer
lessampler
lessampler is a Singing Voice Synthesizer
Stars: ✭ 59 (+78.79%)
Mutual labels:  synthesizer
wasm-synth
C++ in the browser? Webassembly? Sounds jarring? Indeed, it is! Synthesizer for the browser.
Stars: ✭ 112 (+239.39%)
Mutual labels:  synthesizer
awesome-puredata
A list of Pure Data libraries, abstractions, projects and presentations
Stars: ✭ 36 (+9.09%)
Mutual labels:  synthesizer
rtmidi2
python bindings to rtmidi allowing to listen to multiple ports simultaneously
Stars: ✭ 16 (-51.52%)
Mutual labels:  midi-instrument
CureSynth Whip
Polyphonic MIDI Synthesizer for STM32F7
Stars: ✭ 45 (+36.36%)
Mutual labels:  synthesizer
Eurorack
Eurorack modules designed by Lorenz Neumann
Stars: ✭ 28 (-15.15%)
Mutual labels:  synthesizer
InternalTemperature
Teensy 4/3/LC Internal Temperature Library
Stars: ✭ 16 (-51.52%)
Mutual labels:  teensy

SimpleSynth

SimpleSynth is a Teensy based synth with the main objective to keep it simple.

NOTE: I have stopped maintaining this repo in favor of Synth.

Features

  • FM, AM and Ring synthesis with 1 carier and 1 modulator
  • Polyphonic synth, Arpeggiator and Drone modes
  • Controllable modulator gain and frequency
  • Controllable Attack, Decay, Release
  • MIDI over USB
  • MIDI through the Hobbytronics USB Host Board Controller
  • Audio jack output
  • Audio over USB

Compatibility

  • It has only been tested on Teensy 3.2 with its audio board.
  • Compatible with any midi instrument/DAW sending midi notes messages
  • Also compatible with Novation Launchpad S specifically (lights turning on)

Getting Started

These instructions will get you a working copy of the SimpleSynth.

Prerequisites

What things you need to make it work:

Teensy 3.2
Teensy audio board
9 potentiometers

Installing

First download or clone this repository and open it in Arduino.

Basically you just need to connect 9 potentiometers to the 0 to 8th analog Teensy's pins. If you'd like you can change the pin numbers just at the init in the main file Synth synth(0,1,2,3,4,5,6,7,8)

Here is a simple schema showing how to connect potentiometers, just in case:

breadboard

You will have to set the USB type. Go in Tools > USB Type > Serial + MIDI + Audio

Now you are all set, just upload the code to the Teensy and play with it!

How to use

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

1. Synth
    1. FM
    2. FMx10
    3. Ring
    4. AM
    5. AMx10
2. Mode
    1. Synth
    2. Arp
    3. Drone
3. Parameter
    1. Synth: Glide          (TODO)
    2. Arp: Time             (1 to 500ms) 
     . Arp with Midi clock   (TODO)
    3. Drone: Free frequency (0 to 1023Hz)
4. Modulator Frequency
    1. FM / AM               (1Hz - 50Hz)
    2. FMx10 / AMx10 / Ring  (1Hz - 500Hz)
5. Modulator Level           (0 to 100%)
6. Sin/Saw Mix               (TODO)
7. Attack                    (0 to 2000ms)
8. Decay                     (0 to 2000ms)
9. Release                   (0 to 2000ms)

FM, AM and Ring

SimpleSynth offers 3 types of synthesis:

  • Frequency Modulation: the frequency is modulated. When done slow it can sound like a siren or a distorded tape. When done fast it can sound like bells.
  • Amplitude Modulation: the amplitude is modulated. When done slow it sounds like a tremolo. When done fast... well it sounds differently.
  • Ring Modulation: Similar to AM but instead of modulating the amplitude between 1 and 0, it is modulated between 1 and -1, thus the signal gets also inverted. It sounds like a different type of bells :)

Audio design tool

Here is the schema from the audio design tool used in each voice:

breadboard

https://www.pjrc.com/teensy/gui/

This could be optimized. For example, instead of using 5 oscillators (2 for FM, 2 for AM/Ring, and 1 to modulate) it could be 3: 1 sine, 1 sawtooth, 1 modulator. With that we could even use FM and AM/Ring together.

This is a priority TODO because the synth reaches the limit of Teensy 3.2 as to be a good polyphonic synth it requires at least 8 voices, so 8*5 oscillators = 40 oscilators and that seems to be too much for this chip.

In action

Click on the images to watch the videos:

Watch the video

Watch the video

Watch the video

About me

You can find me on Bandcamp and Instagram:

https://ghostintranslation.bandcamp.com/

https://www.instagram.com/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].