Synthesis
General
See also Softsynths, Sampling, Audio#Synthesis (for speech synthesis), Audio (in general), Groovebox, etc.
todo; touch-ups, more links, more text
- https://en.wikipedia.org/wiki/Synthesizer - often abbreviated as synth, is an electronic musical instrument that generates audio signals that may be converted to sound. Synthesizers may imitate traditional musical instruments such as piano, flute, vocals, or natural sounds such as ocean waves; or generate novel electronic timbres. They are often played with a musical keyboard, but they can be controlled via a variety of other devices, including music sequencers, instrument controllers, fingerboards, guitar synthesizers, wind controllers, and electronic drums. Synthesizers without built-in controllers are often called sound modules, and are controlled via USB, MIDI or CV/gate using a controller device, often a MIDI keyboard or other controller.
Synthesizers use various methods to generate electronic signals (sounds). Among the most popular waveform synthesis techniques are subtractive synthesis, additive synthesis, wavetable synthesis, frequency modulation synthesis, phase distortion synthesis, physical modeling synthesis and sample-based synthesis.
- https://en.wikipedia.org/wiki/Analog_synthesizer - a synthesizer that uses analog circuits and analog signals to generate sound electronically. The earliest analog synthesizers in the 1920s and 1930s, such as the Trautonium, were built with a variety of vacuum-tube (thermionic valve) and electro-mechanical technologies. After the 1960s, analog synthesizers were built using operational amplifier (op-amp) integrated circuits, and used potentiometers (pots, or variable resistors) to adjust the sound parameters. Analog synthesizers also use low-pass filters and high-pass filters to modify the sound. While 1960s-era analog synthesizers such as the Moog used a number of independent electronic modules connected by patch cables, later analog synthesizers such as the Minimoog integrated them into single units, eliminating patch cords in favour of integrated signal routing systems.
- https://en.wikipedia.org/wiki/Digital_synthesizer - a synthesizer that uses digital signal processing (DSP) techniques to make musical sounds. This in contrast to older analog synthesizers, which produce music using analog electronics, and samplers, which play back digital recordings of acoustic, electric, or electronic instruments. Some digital synthesizers emulate analog synthesizers others include sampling capability in addition to digital synthesis.
- MATRIXSYNTH - everything synth
- Synthtopia - a portal devoted to electronic music.
- LinuxSynths.com - includes reviews of synths plus many patch files
Learning
- Really Useful Plugins - Rich Synthesis PureData Tutorials - Rich Synthesis PureData Tutorials
- YouTube: PureData Tutorials - Rich Synthesis
- A Young Person's Guide to the Principles of Music Synthesis by Beau Sievers
- Main Page - Synth DIY Wiki - a community wiki for learning and sharing knowledge about designing, making, modifying or repairing electronic musical instruments and related equipment. The emphasis is on audio electronics and the technology of electronic music.
- Advanced Programming Techniques for Modular Synthesizers - intended to provide the advanced user of the Clavia Nord Modular synthesizer with a toolbox of techniques for creating complex and interesting patches. Although the emphasis is on the Nord Modular, the techniques described in this document can be applied to any modular synthesizer, from a modular Moog to the Native Instruments Reaktor softsynth.
- The Synthesizer Academy - a site dedicated to help you learn about synthesis and the creation of electronic music. If you’re looking for a synthesizer tutorial, this is the site for you! You can either start at the very beginning and work your way through each lesson one-by-one, or use the red bar at the top to jump in wherever you want. We’ll also be adding links to various synth resources to help you learn more and get your hands on some gear to play with. New lessons will be added frequently, so check back often.
- Welsh's Synthesizer Cookbook - Universal patch book, Sound analysis/reverse engineering, Synthesizer programming basics. $19.95 US on Amazon and eBay (follow "purchase" link on left). Includes the full Kitchen Kits sample pack.
- Synth Zone - an attempt to ease the search for synth resources on the Internet . If you can't find links to the information or resources here then please check out the full list of synth sites on Synth Zone's Synth Sites Links & Resources page.
- Synthesizer Manuals Collection - Collecting several hundred manuals in one location, this collection of information about Music Synthesizers spans over 40 years of technology and products. Most consist of information about programming, usage and operation of synthesizers, as well as software products that emulate synthesizers. Additional scans are always welcome.
- Audio Synthesis via Vacuum Tubes - Eric Barbour, 1997
- A Palette of Static Audio Waveforms - The Voltage Controlled Oscillator (VCO) has always been the primary audio source for electronic music synthesizers, and has always supplied a small number of waveforms named with simple geometric shapes: sine, triangle, square, and sawtooth. These waveforms have not changed since the very first Moog oscillators. It's often said that "the heart of a synthesizer is the filter". Is that because oscillators are uninteresting? Is it time to rethink things? Can we do better?
- Computers in Music - Pierre Boulez and Andrew Gerzso, Scientific American, April 1988
- PDF: Abstract practices - Andrea Vogrig, Bachelor Thesis, Institute of Sonology, May 25th, 2018
Modular
- https://en.wikipedia.org/wiki/Doepfer_A-100 - Eurorack
- ModularGrid - a database for modular synthesizers with an integrated planner where people gather information and sketch out their modulars.
- https://en.wikipedia.org/wiki/Moog_modular_synthesizer - a monophonic analog modular synthesizer developed by the American electronic instrument pioneer Dr. Robert Moog. Many different models were manufactured by R.A. Moog Co. (Moog Music after 1972) from 1965–80.
- Synthesizers.com - Fine modular analog synthesizers featuring classic styling and world-class customer service
- https://github.com/AndrewBelt/WaveEdit - Synthesis Technology WaveEdit for the E370 and E352 Eurorack synthesizer modules
- https://github.com/ghztomash/CVSequencer - A simple analog 8 step CV sequencer. With inputs for clock, reset, 3 logic OR-ed step inputs and glide control.
- https://github.com/AudioMorphology/Europi - Opensource sequencer software for Raspberry Pi equipped with Eurorack-compatible hardware
- https://github.com/jonmoshier/awesome-open-source-synths - Awesome Open Source Synths List!
Videos
- YouTube: Modular Synth Basics - Synthesizer Tutorials - playlist
- YouTube: Molten Modular 01 - Introduction to Eurorack Modular synthesis series - playlist
- YouTube: Ready to go modular? 10 Common Beginner Questions - Benn Jordan (The Flashbulb)
- YouTube: once upon a synth - channel
Elements
See also Signal, Electrical, Data
- https://en.wikipedia.org/wiki/Oscillation - the repetitive variation, typically in time, of some measure about a central value (often a point of equilibrium) or between two or more different states.
- PDF: Voltage-Controlled Electronic Music Modules - Moog, 1964
Oscillator
- https://en.wikipedia.org/wiki/Low-frequency_oscillation - LFO - The primary oscillator circuits of a synthesizer are used to create the audio signals. A LFO is a secondary oscillator that operates at a significantly lower frequency (hence its name), typically below 20 Hz. This lower frequency or control signal is used to modulate another component's value, changing the sound without introducing another source.
Modulation
Amplitude
Frequency
- https://en.wikipedia.org/wiki/Voltage-controlled_filter - VCF - shapes the sound generated by the oscillators in the frequency domain, often under the control of an envelope or LFO. These are essential to subtractive synthesis.
Control voltage / gate & trigger
- https://en.wikipedia.org/wiki/CV/gate - an abbreviation of control voltage/gate) is an analog method of controlling synthesizers, drum machines and other similar equipment with external sequencers. The control voltage typically controls pitch and the gate signal controls note on-off. This method was widely used in the epoch of analog modular synthesizers and CV/Gate music sequencers, since the introduction of the Roland MC-8 Microcomposer in 1977 through to the 1980s, when it was eventually superseded by the MIDI protocol (introduced in 1983), which is more feature-rich, easier to configure reliably, and more readily supports polyphony. The advent of digital synthesizers also made it possible to store and retrieve voice "patches" - eliminating patch cables and (for the most part) control voltages. However, numerous companies – including Doepfer, who designed a modular system for Kraftwerk in 1992 Buchla, MOTM, Analogue Systems, and others continue to manufacture modular synthesizers that are increasingly popular and rely primarily on analog CV/gate signals for communication. Additionally, some recent non-modular synthesizers (such as the Alesis Andromeda) and many effects devices (including the Moogerfooger pedals by Moog as well as many guitar oriented devices) include CV/gate connectivity. Many modern studios use a hybrid of MIDI and CV/gate to allow synchronization of older and newer equipment.
- JACK/LV2 CV - LinuxMusicians - The JACK audio system and LV2 plugin format both provide "CV" port support (analogous to the control voltage ports of hardware modular synths) to allow the patching of audio-rate parameter control signals between clients/plugins, enabling a multi-app modular synthesis environment that could connect with real world hardware to form a hybrid modular setup.
- YouTube: Molten Modular 09 - DC coupling, CV and DAW control with Bitwig 2.1
- YouTube: Molten Modular 12 - AC coupling, CV and DAW control with Bitwig 2.1
- midimsg.lv2 is a set of plugins to transform midi output into usable values to control other plugins. For example: aftertouch transfers channel aftertouch to CV, controller and modwheel to CV
- https://github.com/harryhaaren/jm2cv - Jack Midi to Control Volage. Older! Doesn't use JACK CVport metadata
- jm2cv guidelines - Linux Musicians forum
- https://github.com/jkrame1/Betweener - Open source Voltage/MIDI conversion hardware and software.
- GZD - attempts to find the frequency with the biggest magnitude in an audio-signal. This frequency is then transformed into a control voltage.
- https://github.com/mattb/teensy-cv - An opamp board to scale Eurorack control voltages into and out of ranges compatible with a Teensy MCU board
- YouTube: Hacking my arm prosthesis to output CV so that it plugs into my synth: Thought-controlled music!
- S-trigger | Electronic Music Wiki | Fandom - type of gate circuit used by many vintage Moog synths. Instead of providing a high and low voltage output to indicate the pressing and releasing of keys, it uses what is known as an "open collector" output, which basically opens and closes a switch. It requires that the entity that is receiving the signal apply a voltage to the cable, in order to detect the switch opening and closing at the sender's end. Most Moog models that use the S-trigger circuit indicate its presence through the use of an unusual connector known as a Cinch-Jones connector, which resembles a smaller version of a U.S. two-prong power plug.S-trigger is not compatible with conventional gate circuits. Trying to send a conventional gate signal to a synth that is expecting an S-trigger may cause circuit damage; however, a simple adapter circuit can be purchased or constructed. S-trigger should not be confused with the inverted gate signals used by some Korg and Yamaha synths.
Sequencing
- https://github.com/matthewcieplak/super-sixteen - Super Sixteen is an open-source/open-hardware sequencer for the Eurorack synthesizer format. It's available through my web shop and fine retailers as a complete module and DIY kit. It's developed on the Arduino codebase on Atmega328P, using the PlatformIO extension for Visual Studio Code.
Subtractive synthesis
- https://en.wikipedia.org/wiki/Subtractive_synthesis - a method of sound synthesis in which partials of an audio signal (often one rich in harmonics) are attenuated by a filter to alter the timbre of the sound. While subtractive synthesis can be applied to any source audio signal, the sound most commonly associated with the technique is that of analog synthesizers of the 1960s and 1970s, in which the harmonics of simple waveforms such as sawtooth, pulse or square waves are attenuated with a voltage-controlled resonant low-pass filter. Many digital, virtual analog and software synthesizers use subtractive synthesis, sometimes in conjunction with other methods of sound synthesis.
Additive synthesis
- https://en.wikipedia.org/wiki/Additive_synthesis - a sound synthesis technique that creates timbre by adding sine waves together. The timbre of musical instruments can be considered in the light of Fourier theory to consist of multiple harmonic or inharmonic partials or overtones. Each partial is a sine wave of different frequency and amplitude that swells and decays over time. Additive synthesis most directly generates sound by adding the output of multiple sine wave generators. Alternative implementations may use pre-computed wavetables or the inverse Fast Fourier transform.
It’s difficult to go very far with additive synthesis using analog hardware. Each wave needs its own oscillator, and to get sounds that are very complex, it requires quite a few of them. This can get very bulky and expensive rather quickly. Most sounds found in nature would require hundreds or even thousands of sine waves to accurately reproduce them. Digital synthesizers make it easier to do additive synthesis. All the waves are just numbers in a computer, so you can add as many as you want if you have enough processing power.
Despite this potential complexity, simple additive synthesis is possible on quite modest analogue synths. So is 'sinusoids plus noise' synthesis. Indeed, I guarantee that anybody playing an instrument with two or more independently tuneable oscillators (and, maybe, a noise source) has created sounds employing tuned fifths, octaves, or whatever. As soon as you have done this, you've entering the weird and wonderful world of additive synthesis. So go and find a handful of extra oscillators, and get serious. Additives can be good for you, and it's great fun, I promise.
FM/PM synthesis
- https://en.wikipedia.org/wiki/Frequency_modulation_synthesis - a form of sound synthesis whereby the frequency of a waveform is changed by modulating its frequency with a modulator. The frequency of an oscillator is altered "in accordance with the amplitude of a modulating signal". (Dodge & Jerse 1997, p. 115)
FM synthesis can create both harmonic and inharmonic sounds. To synthesize harmonic sounds, the modulating signal must have a harmonic relationship to the original carrier signal. As the amount of frequency modulation increases, the sound grows progressively complex. Through the use of modulators with frequencies that are non-integer multiples of the carrier signal (i.e. inharmonic), inharmonic bell-like and percussive spectra can be created.
FM synthesis using analog oscillators may result in pitch instability. However, FM synthesis can also be implemented digitally, which is more stable and became standard practice. Digital FM synthesis (implemented as phase modulation) was the basis of several musical instruments beginning as early as 1974. Yamaha built the first prototype digital synthesizer in 1974, based on FM synthesis, before commercially releasing the Yamaha GS-1 in 1980. The Synclavier I, manufactured by New England Digital Corporation beginning in 1978, included a digital FM synthesizer, using an FM synthesis algorithm licensed from Yamaha. Yamaha's groundbreaking DX7 synthesizer, released in 1983, brought FM to the forefront of synthesis in the mid-1980s.
- YouTube: Inside Synthesis - FM Synthesis - intro to the basics
- YouTube: FM Synthesis: How does it work? - Benn Jordan (The Flashbulb)
- YouTube: The Power of FM Workshop - playlist, using Dexed
- PDF: FM Theory & Applications - Dr. John Cowning and David Bristow, 1986
- PDF: Basic FM Synthesis on the Yamaha DX7 - Mark Phillips, 1987
- PDF: How To Program The DX7 - 1985
- https://github.com/bwhitman/learnfm - A Python Yamaha DX7 module for audio learning
- Midimutant | FoAM - Made in collaboration with Aphex Twin, the midimutant learns how to program your DX7 synth so you don't have to. Equipped only with a microphone input and midi output, the midimutant runs on a Raspberry Pi and uses artificial evolution to grow new sounds on hardware synthesisers that mimic an example sound you provide.
Wavetable / sample
See also Sampling
- Wavetable Synthesis — futur3soundz - The term “wavetable” is often used to represent several different things. In the most basic conception, any waveform (the graphic shape of a signal as a function of time) stored in a numeric table of values, is essentially a wavetable.
- https://github.com/VoidVertex/Single-Cycle-Waveforms - Single Cycle Waveforms are tiny audio files which when set to loop they act as an oscillator.
- https://en.wikipedia.org/wiki/Table-lookup_synthesis or wavetable-lookup synthesis is a class of sound synthesis methods using the waveform tables by table-lookup, called "table-lookup oscillator" technique. The length of waveforms or samples may be varied by each sound synthesis method, from a single-cycle up to several minutes.
- https://github.com/sneakernets/DMXOPL - New and improved DMX GENMIDI for Doom and sourceports, taking full advantage of the OPL3 waveforms. This takes things up a notch in terms of timbre.
- https://github.com/sfztools/WaveTableTools - This is an approximate clone of wavetable generation utilities WCreate and WMorph by futur3soundz. This is NOT the source code of the official utilities.
Scanned synthesis
- https://en.wikipedia.org/wiki/Scanned_synthesis - a powerful and efficient technique for animating wave tables and controlling them in real-time[citation needed]. Developed by Bill Verplank, Rob Shaw, and Max Mathews between 1998 and 1999 at Interval Research, Inc., it is based on the psychoacoustics of how we hear and appreciate timbres and on our motor control (haptic) abilities to manipulate timbres during live performance Scanned synthesis involves a slow dynamic system whose frequencies of vibration are below about 15 Hz. The ear cannot hear the low frequencies of the dynamic system. So, to make audible frequencies, the "shape" of the dynamic system, along a closed path, is scanned periodically. The "shape" is converted to a sound wave whose pitch is determined by the speed of the scanning function. Pitch control is completely separate from the dynamic system control. Thus timbre and pitch are independent. This system can be looked upon as a dynamic wave table. The model can be compared to a slowly vibrating string, or a two dimensional surface obeying the wave equation.
Direct digital synthesis
- https://en.wikipedia.org/wiki/Direct_digital_synthesis - a method employed by frequency synthesizers used for creating arbitrary waveforms from a single, fixed-frequency reference clock. DDS is used in applications such as signal generation, local oscillators in communication systems, function generators, mixers, modulators,[1] sound synthesizers and as part of a digital phase-locked loop.
Physical modelling synthesis
- https://en.wikipedia.org/wiki/Digital_waveguide_synthesis -the synthesis of audio using a digital waveguide. Digital waveguides are efficient computational models for physical media through which acoustic waves propagate. For this reason, digital waveguides constitute a major part of most modern physical modeling synthesizers.
- Yamaha VL1: Virtual Acoustic Synthesizer - Is 'physical modelling' set to become the buzz-phrase of '90s synthesis? MARTIN RUSS exclusively tests out Yamaha's innovative new synth and reveals all... Published in SOS July 1994.
- https://en.wikipedia.org/wiki/Banded_waveguide_synthesis - a physical modelling synthesis method to simulate sounds of dispersive sounding objects, or objects with strongly inharmonic resonant frequencies efficiently. It can be used to model the sound of instruments based on elastic solids such as vibraphone and marimba bars, singing bowls and bells. It can also be used for other instruments with inharmonic partials, such as membranes or plates. For example, simulations of tabla drums and cymbals have been implemented using this method. Because banded waveguides retain the dynamics of the system, complex non-linear excitations can be implemented. The method was originally invented in 1999 by Georg Essl and Perry Cook to synthesize the sound of bowed vibraphone bars (Essl Cook 1999).
- https://en.wikipedia.org/wiki/Karplus–Strong_string_synthesis - a method of physical modelling synthesis that loops a short waveform through a filtered delay line to simulate the sound of a hammered or plucked string or some types of percussion. At first glance, this technique can be viewed as subtractive synthesis based on a feedback loop similar to that of a comb filter for z-transform analysis. However, it can also be viewed as the simplest class of wavetable-modification algorithms now known as digital waveguide synthesis, because the delay line acts to store one period of the signal.
- https://en.wikipedia.org/wiki/Distortion_synthesis - a group of sound synthesis techniques which modify existing sounds to produce more complex sounds (or timbres), usually by using non-linear circuits or mathematics. While some synthesis methods achieve sonic complexity by using many oscillators, distortion methods create a frequency spectrum which has many more components than oscillators. Some distortion techniques are: FM synthesis, waveshaping synthesis, and discrete summation formulas.
- https://en.wikipedia.org/wiki/Waveshaper - a type of distortion synthesis in which complex spectra are produced from simple tones by altering the shape of the waveforms.
Hybrid modular
- YouTube: Hybrid modular - The one must-have module: bridging Eurorack and VCV Rack, Softube (ES-8 and MOTU)
- https://github.com/AquaMorph/ES-5-Pipewire - A Pipewire client for the Expert Sleepers ES-5 eurorack module
- https://github.com/pongasoft/re-ab12-audio-switch - A/B 12 Audio Switch is a free rack extension for Reason, the music DAW produced by Reason Studios. This 2U utility lets you switch between 12 audio stereo inputs using various approaches.
Virtual Analogue
- https://en.wikipedia.org/wiki/Analog_modeling_synthesizer - a synthesizer that generates the sounds of traditional analog synthesizers using DSP components and software algorithms. Analog modeling synthesizers simulate the behaviour of the original electric and electronic circuitry in order to digitally replicate their tone. This method of synthesis is also referred to as Virtual Analog or VA
Noise
- https://github.com/Stenzel/newshadeofpink - Recipe for generation of pink noise
- https://github.com/eloimoliner/gramophone_noise_synth - Realistic gramophone noise synthesis using a diffusion model
Chiptune
See also Softsynths#Chiptune, Audio, Tracker
Cynthcart
- https://github.com/PaulSlocum/cynthcart - A synthesizer program for the Commodore 64 computer designed with live performance in mind. Includes arpeggiator, portamento, stereo SID and MIDI support, realtime filter control, many other features. The program is written in 6510 assembly language. Over 700 Cynthcart cartridges have been sold making it one of the most popular Commodore 64 homebrews.
chips
- https://github.com/floooh/chips - A toolbox of 8-bit chip-emulators, helper code and complete embeddable system emulators in dependency-free C headers (a subset of C99 that compiles on gcc, clang and cl.exe).
ArduinoOPL2
- https://github.com/DhrBaksteen/ArduinoOPL2 - Arduino library for use with the OPL2 board (YM3812) and OPL3Duo (YMF262)
SIDKick
- https://github.com/frntc/SIDKick - SIDKick is a versatile sound device for C64s and C128s: it serves as a drop-in replacement for the SID 6581/8580 sound chips, and at the same time provides Sound Expander-emulation (Yamaha OPL-based FM sound), a MIDI interface and can control LED stripes. It is based on a Teensy 4.1 and makes no compromises with regard to quality: the emulation is based on reSID and fmOPL. It also comes with a few extras.
DIY
- Home-built Synthesizer Modules - a number of synthesizer modules, based on the Doepfer module size and power format, by Dr. James J. Clark
- https://github.com/mikemoretti3/Synths - synth design repo
- https://sdiy.info/wiki/CatGirl_Synth - CGS is the popular name for the synthesizer designs of Ken Stone.
- https://github.com/midilab/aciduino - Cheap Roland TB303 Step Sequencer clone aimed for live interaction. Your acid lines for a very low cost.
- Open Theremin V3 - an open source hardware and software project with a great community of musicians and people interested in the world of electronic music instruments . The aim is to build a next generation, digital version of the legendary music instrument. With more than 1000 Open.Theremins in the world the new version 3 was built based on many community ideas and inputs.
- https://github.com/pichenettes/shruthi-1 - Firmware and hardware description files for the Shruthi-1, an hybrid monosynth
- https://github.com/MrBlueXav/Dekrispator - Experimental Music synthesizer based on an STM32F4 Discovery board (ARM Cortex M4F from STM32 series) with USB MIDI Host function for interaction and automatic mode.
- https://github.com/MrBlueXav/Dekrispator_v2 - New Experimental Music synthesizer based on an STM32F4 Discovery board (ARM Cortex M4F from STM32 series) with USB MIDI Host function for interaction and automatic mode. Updated with Cube/HAL.
- http://factotumo.com/blipweb - web-midi for meeblip
- https://code.google.com/archive/p/forbinlfo - a project to build a Low Frequency Oscillator module for an Analog Synthesizer using a simple cheap Digital Signal Processor (DSP). The advantages that this gives you are many fold in that it will allow certain operations that are extremely difficult and expensive in the pure Analog domain such as phase differences that are continuously variable and completely arbiatary.
- Mozzi - sound synthesis library for Arduino. Mozzi brings your Arduino to life by allowing it to produce much more complex and interesting growls, sweeps and chorusing atmospherics. These sounds can be quickly and easily constructed from familiar synthesis units like oscillators, delays, filters and envelopes. You can use Mozzi to generate algorithmic music for an installation or performance, or make interactive sonifications of sensors, on a small, modular and super cheap Arduino, without the need for additional shields, message passing or external synths.
- x0x Clones - website for learning about vintage Roland machines as well as their hardware clones and software emulations, old and new, including Roland SH-101, TB-303, TR-808 and TR-909 Clones & XOX Emulations. dead.
- x0xb0x - not just another MIDI-controlled TB-303 clone. x0xb0x is a full reproduction of the original Roland synthesizer, with fully functional sequencer. The sequencer can be programmed just like the original 303 (ok its actually a little easier, we think) and can be used to control other synthesizers via any of its various output formats. 128 banks of track memory and 64 banks of pattern memory are stored in onboard EEPROM, no battery-backup is needed!
- https://www.critterandguitari.com/pages/organelle - The Organelle makes it easy to explore new sounds and experiment with new ways of making music. It combines playful and intuitive controls with a powerful and flexible sound engine. The result is an instrument that is limitless in musical possibility and a joy to play. At the heart of the Organelle's sound engine is a robust computer that runs patches. A patch allows the instrument to take on different forms. Onboard hardware for sound input and output and mappable knobs, keys and buttons enable patches to synthesize, sample, effect, and anything in between!
- digital-synth-pra32-u - 4 Voice Polyphonic/Paraphonic Synthesizer for Raspberry Pi Pico/RP2040 (2023)
- https://github.com/flok99/UTWIN6001 - software for the UTWIN6001 hardware. The UTWIN6001 is a "hat" for the raspberry pi allowing you to interface to a Doepfer A100 compatible system (eurorack modular synthesizer). This software allows you to do all kinds of "conversions": midi to control voltage AND control voltage to midi, audio-frequency to control voltage, and so on!
- Prynth - Our goal is to explore models for self-contained programmable synthesizers, gathering attributes from both hardware synths and computer-based systems.
- YouTube: Modular Synthesis (Part 1) - Studio Time: S2E9 - Junkie XL
- https://github.com/probonopd/MiniDexed - Dexed FM synthesizer similar to DX7 running on a bare metal Raspberry Pi (without a Linux kernel or operating system)
- https://github.com/GillesLACAUD/OPLA-Source-code - a four voices polyphonique virtual analog synthesizer It is based on the Marcel Licence work but with a lot of additions https://github.com/marcel-licence/esp32_basic_synthIt run on an ESP32 Audio kit board + a nextion screen + a specific Hansy Synth Board.
- https://github.com/M4ngu/Sweet-Sixteen - Sweet Sixteen eurorack module by Tesseract Modular
Workstation
- https://en.wikipedia.org/wiki/Music_workstation - an electronic musical instrument providing the facilities of: a sound module, a music sequencer and (usually) a musical keyboard. It enables a musician to compose electronic music using just one piece of equipment.
- https://en.wikipedia.org/wiki/Yamaha_Motif - a series of music workstation synthesizers, first released by Yamaha Corporation in August 2001. The Motif replaced the EX series in Yamaha's line-up. Other workstations in the same class are the Korg Kronos and the Roland Fantom G.
- https://github.com/SpotlightKid/ysfctools - Various Python scripts and documentation concerning Yamaha's YSFC file format
Editors
- https://github.com/eclab/edisyn - a synthesizer patch editor library written in pure Java. It runs on MacOS, Linux, and Windows.Edisyn is particularly good at exploring the space of patches. It has to my knowledge the most sophisticated set of general-purpose patch-exploration tools of any patch editor available.
- https://github.com/le1ca/alesisvsysex - [8] Alesis V-Series Editor
- http://www.jidesk.net/computing/bigglesworth - a cross-platform editor and librarian for the Waldorf Blofeld
- JDXi Manager - an easy-to-use, intuitive, modern looking software patch editor for the Roland JD-Xi synthesizer. Currently editing of the Analog Synth part, the two Digital Synth parts, the Drums part and the Effects of the JD-Xi is supported. It is designed to run on Microsoft Windows and on Linux. The JDXi Manager is still work in progress and more features and functionality are being added with every new release.
- https://github.com/eclab/edisyn - a synthesizer patch editor library written in pure Java. It runs on OS X, Linux, and Windows.Edisyn is particularly good at exploring the space of patches. It has to my knowledge the most sophisticated set of general-purpose patch-exploration tools of any patch editor available.
Sound design
Hardware DSP
a mess, to sort out with Synthesis#DIY
- https://github.com/schollz/zeemo - a midi to cv expander for eurorack.
- Uwyn - Tactile Patch Sheets - Tactile 3D printed overlays that allow synthesizer patches to be dialed in by touch. This work is freely distributed under the New BSD License.
analog-synth
- https://github.com/Windfisch/analog-synth - a low-cost analog synthesizer based on well-available components like LM324 or TL084 op-amps, which is easy to understand and learn.
Zynthian
- Zynthian - a new class of machine. A kind of swiss army knife of synthesis, equipped with multiple engines, filters and effects. Completely configurable and upgradeable. An Open Platform for Sound Synthesis. Based on Raspberry Pi and Linux, its hardware specification is public and software is Open Source. It is fully hackable! DIY (Do It Yourself!). A community-focused project where you can choose between build everything from scratch or use one of the kits that we offer, adapted to the different skill levels. You can use it for live performing, studio production or as a tool for experimental sound exploration.
- Zynthian Discourse - forum
- https://github.com/zynthian/lv2-plugins-prebuilt-rbpi3 - Pre-compiled DISTRHO-Ports for rbpi3*
- New Zynthian Kit v4 – Zynthian Blog - Raspberry Pi 4 inside
PreenFM
- PreenFM2 - brings the old FM synthesis in a small open-source modern DIY box.
Axoloti Patcher
hardware - $
- YouTube: Axoloti: Let's Make A $75 Drum Machine - Benn and Gear
Kyma
- Kyma - hardware and visual software environment for creative sound design, live performance, and scientific exploration. In Kyma, a user programs a multiprocessor DSP by graphically connecting modules on the screen of a Macintosh or Windows computer. $$
The first version of Kyma, which computed digital audio samples on a Macintosh 512K was written in the Smalltalk programming language in 1986 by Carla Scaletti in Champaign, Illinois. In May 1987, Scaletti had partitioned Kyma into graphics and sound generation engines and ported the sound generation code to a digital signal processor called the Platypus designed by Lippold Haken and Kurt J. Hebel of the CERL Sound Group. When the University of Illinois at Urbana-Champaign eliminated the funding for the PLATO laboratory in 1989, Scaletti and Hebel formed Symbolic Sound Corporation in order to continue developing Kyma and digital audio signal processing hardware.
Patchblocks
Teenage Engineering oplab
- teenage engineering – oplab - the musical switchboard for all your electronic instruments. it allows you to interconnect virtually any electronic musical instruments and music software. no more hassle with one box for MIDI and another for CV or a third for USB. just connect your cables, set the appropriate scenario and experience a perfect sync.
Dekrispator
- https://github.com/MrBlueXav/Dekrispator_v2 - This is a rewriting of the old Dekrispator but there is no new feature at the moment. I've used the new STM32Cube library from ST (v1.3) with new HAL and USB host stack. I've written a new USB host MIDI class driver which should accept more devices.
- https://github.com/erwincoumans/StkDekrispatorSynthesizer - Port of Dekrispator Synthesizer to Windows, Linux, Mac and Raspberry Pi. Using STK for midi and sound playback.
SHARC Audio Module
- https://wiki.analog.com/resources/tools-software/sharc-audio-module - an expandable hardware/software platform enabling project prototyping, development and deployment of audio applications including effects processors, multi-channel audio systems, MIDI synthesizers, and many other DSP-based audio projects.
XFM2 Synthesizer Module
- futur3soundz - The XFM2 Synthesizer Module is the second generation of the XFM DIY Synthesizer Project. XFM2 is a 64-voice, 2-part, 6-operator FM Synthesizer with built-in effects processor, built on an FPGA chip.
Modular analog synthesizer
- Modular analog synthesizer - This project aims to create an easy-to-learn, low-cost modular analog synthesizer. It is based around well-available components like LM324 or TL084 op-amps. The firmware is written in the Rust programming language. Its main purpose is not to create a competitive musical instrument, but to learn more about electronics and Rust.
ILSE
- https://github.com/chairaudio/ILSE - Analog Monophonic Synthesizer Module for Education
Moog Mimitaur
TSynth
- ElectroTechnique TSynth - Teensy 4.1 based synthesizer using PJRC Audio Board and Audio LibThe pcb and front panel as seen below are available from Tindie.com with SMD 4067 multiplexers, 6N138 opto-isolator, capacitors and resistors fitted. The entire cost of parts to build TSynth will be around $99 if you buy components from the cheaper suppliers and the build time around two hours to solder. Plans for a 3D printed/laser cut enclosure are also available.
Genesynth
- https://github.com/theacodes/genesynth - music synthesizer module based around the Yamaha YM2612 FM Synthesis Chip, the same chip used in the Sega Genesis / Mega Drive. This project is designed to use the Teensy 3.5 to control the YM2612 via USB MIDI.
Deluge
- https://github.com/SynthstromAudible/DelugeFirmware - Synthstrom Audible Deluge Firmware runs on the Deluge portable sequencer, synthesizer and sampler, produced by Synthstrom Audible Limited.The Deluge Firmware’s codebase is written mostly in C++, with some low-level functions in C, and even the occasional line of assembly. The program is “bare-metal” - it runs without any higher level operating system.The firmware runs on the Synthstrom Audible Deluge’s Renesas RZ/A1L processor, an Arm® Cortex®-A9 core running at 400MHz with 3MB of on-chip SRAM. The Deluge also includes a 64MB SDRAM chip.
kastle
controlVoltage
- https://github.com/ianhattwick/controlVoltage - Arduino library for generating control signals in style of eurorack modular synthesizers
ZOIA
- ZOIA – Empress Effects Inc. - basically a modular synthesizer in pedal form. Instead of being a delay effect or tremolo, the ZOIA provides the modules necessary to build a delay or tremolo from the ground up. But since you're the one building it, you can make it do whatever you want. With the ZOIA you can build your own custom effects, synthesizers, midi controllers, and virtual pedal boards. And to make life a little easier, we've created modules for all your standard guitar effects. So for instance, if you want a phaser, you can just plop down a phaser. You don't have to break out the textbooks to learn that they're built out of all-pass filters. (Of course, if you're a nerd like us, you can use the ZOIA to build them out of all-pass filters).
Benjolin
- https://github.com/forestcaver/Benjolin - SMT Benjolin. Strictly for non-commercial use.
Portable-Synth
- https://github.com/prajwal1121/Portable-Synth - An OP-1 inspired portable groovebox based around Teensy 4.
Smallest USB-C MIDI Synth
SIDKick-pico
- https://github.com/frntc/SIDKick-pico - a drop-in replacement for the SID 6581/8580 sound chips in the Commodore 64 and 128 computers. It has been designed as an inexpensive alternative to other replacements while not making compromises regarding quality. It consists of a simple interface board and a Raspberry Pi Pico (or compatible clone).
Sidekick64
- https://github.com/frntc/Sidekick64 - a versatile cartridge/expansion for the C64, C128, the C16/+4, and the VIC20. It uses a Raspberry Pi 3A+, 3B+ or Zero 2 (only for C64/C128/VIC20, to emulate memory expansions, sound devices (up to 8 SIDs, SFX Sound Expander, MIDI), freezer cartridges, cartridges such as Easyflash/GMOD, kernal replacements, C128 function ROMs and many more. Some functionalities can be combined with others, e.g. kernal replacement plus freezers or GeoRAM expansion. The Sidekick64 handles among others PRGs, D64, SID, MOD, YM and WAV files and also integrates tools such as Disk2EasyFlash, PSID64.
Qun synthesizer
- https://github.com/raspy135/Qun-synthesizer/tree/master - an analog modeling synthesizer engine for ESP32-LyraT that works with Nunomo's daughter board.
PC Speaker
- https://en.wikipedia.org/wiki/PC_speaker - a loudspeaker built into most IBM PC compatible computers. The first IBM Personal Computer, model 5150, employed a standard 2.25 inch magnetic driven (dynamic) speaker. More recent computers use a piezoelectric speaker instead. The speaker allows software and firmware to provide auditory feedback to a user, such as to report a hardware fault. A PC speaker generates waveforms using the programmable interval timer, an Intel 8253 or 8254 chip.
- https://wiki.gentoo.org/wiki/PC_Speaker - more commonly referred to the speaker located on the motherboard. Nowadays this speaker is usually a simple piezoelectric speaker providing just enough speaker hardware to distinguish simple frequency and tones of beeps. Beeps usually occur on error, but can be customized as this article will document.
echo -e '\a'
- beep - beep the pc speaker any number of ways
beep -f 200 -f 300 # beep at 300Hz.
- https://github.com/przemoc/pcspk - PCSpk is a set of command line applications for playing simple sounds and melodies using the PC speaker. It is inspired by simple, but really great Johnathan Nightingale's beep.
- 8088 PC Speaker MOD player: How it’s done « Reenigne blog - The last 100 seconds of 8088 MPH sound very different to the rest of the demo. The end tune is actually a 4-channel Amiga MOD file (which you can download here) composed by coda. Playing back a MOD through PC speaker on such a slow machine has never been done before. Here is how we did it.
- What’s up with the Beep driver in Windows 7? - Earlier today, someone asked me why 64bit versions of windows don’t support the internal PC speaker beeps. The answer is somewhat complicated and ends up being an interesting intersection between a host of conflicting tensions in the PC ecosystem.
- https://github.com/vareille/toot - a beep that beeps. it's both a C C++ library and a command line tool for Windows, OSX, Linux, BSD, Solaris, Minix, Raspbian
- https://github.com/dbatbold/beep - Beep sound library and utility for alerting end of a command execution. Beep can also play MIDI or text music score. Written in Go.
- https://github.com/rorymckinley/beep - A wrapper around the linux beep utility
- https://github.com/wrbs/MidiToBeep - scripts for playing midi files using the linux beep command
- https://github.com/paulguy/pcspkrplay - Play music through the PC speaker in Linux
Songs
- https://github.com/ShaneMcC/beeps - Collection of beep scripts to play music from pc speaker.
- https://github.com/NaWer/beep - ♫ A collection of bash scripts playing various music using beep ♫
- https://github.com/JoshuaCurry/linux-beep-tunes - A compilation of Linux Beep tunes from various sources.
- https://github.com/adamrees89/Beep-Songs - Song scripts for the 'beep' software commonly found in Linux
Modular LV2
ams-lv2
- ams-lv2 - set of LV2 plugins is a port of the internal modules found in Alsa Modular Synth. These plugins are used to create modular synthesizers and contains: VCO, VCF, VCA, LFO, Slew Limiter, Envelop, Sample & Hold, etc.
- YouTube: ams-lv2 - demo
- avw.lv2 - An old undeveloped port of the AMS internal modules to LV2 plugins.
Fomp
- Fomp is an LV2 port of the MCP, VCO, FIL, and WAH plugins by Fons Adriaensen. There are 13 plugins in total: 1 auto-wah, 1 EQ, 3 chorus, 5 filters, and 3 oscillators.
BLOP
- BLOP comprises a set of LADSPA plugins that generate bandlimited sawtooth, square, variable pulse and slope-variable triangle waves, principally for use with one of the many modular software synthesisers available. They are wavetable based, and are designed to produce output with harmonic content as high as possible over a wide pitch range.
- Bandlimited Sawtooth Oscillator
- Bandlimited Square Oscillator
- Bandlimited Variable Width Pulse Oscillator
- Bandlimited Variable Slope Triangle Oscillator
- Random Wave Generator
- Mono Amplifier
- 4 Pole Low Pass Filter with Resonance
- ADSR Envelope Generator
- ADSR Envelope Generator with Gate and Trigger
- DAHDSR Envelope Generator with Gate and Trigger
- Sequencer
- Quantiser
- Clock Oscillator with Gate
- Clock Pulse Oscillator with Gate
- Frequency Modulator
- Control to Audio Interpolator
- Signal Tracker
- Signal Sum
- Signal Difference
- Signal Product
- Signal Ratio
- Signal Branch
- BLOP-LV2 - a mostly faithful port of blop-0.2.8, except plugin variants have been eliminated via the use of morphable Control/CV ports. This way, users do not have to choose from several versions of the same plugin, but the host can configure controls to be control-rate or audio-rate as appropriate. This mechanism is backwards compatible, so these ports will simply appear as normal LV2 control ports in hosts that do not support port morphing.
ZLFO
- ZLFO - Fully featured LFO for CV-based automation
Omnifono
- Omnifono - a mixture of various simple utilities in one plugin: amplifier, panner, noise generators, etc. LV2.
Omins
- Omins - a collection of LADSPA plugins geared at modular synthesizers. The name comes from Om, but these plugins are not Om specific in any way, and Om does not require them. However most (not all) of them are only really useful in modular systems.
controlfilter.lv2
plugins-lv2
- https://github.com/SrMouraSilva/plugins-lv2 - Gossiper - Shows a lv2-hmi notification when a button is turned on or turned off. Useful if you use an external midi controller that doesn't have feedback resources like LED. As an educated gossiper, it will only gossipes if you are looking to it (i.e., an "assignable" parameter is showing on device' screen). Tetr4 Switch - LV2 audio plugin inspired on switches like Pedrone Penta Switch, Pedrone Yet, Carl Martin Octa Switch and others, but focused on the MOD Devices universe. With it, is possible to define four presets of active CV and change between then.
Toggle_2IN
- https://github.com/zwaba/Toggle_2IN - .lv2 plugin utility for Mod / Toggle switch. Same as the MOD switchbox plugin but switch possible with CV. A slight smoothing is implemented in order to avoid scale effects.
Modular softsynths
See also DAW#Modular synth tracker
I use Carla. Ingen is also good.
AlsaModularSynth
- AlsaModularSynth is a realtime modular synthesizer and effect processor. It features MIDI controlled modular software synthesis, Realtime effect processing with capture from e.g. "Line In" or "Mic In", Full control of all synthesis and effect parameters via MIDI, Integrated LADSPA Browser with search capability, JACK Support
- https://github.com/tartina/ams - patches for Alsa Modular Synth
gAlan
- gAlan - The Graphical Audio Language. A modular synthesiser - drum-machine - sequencer - effects-unit for Linux and Win32. Like Buzz.
SpiralSynthModular
- SpiralSynth Modular is an object orientated music studio with an emphasis on live use. You can use it in a fairly straight forward way to make tracks with, or get very experimental. Audio or control data can be freely passed between the plugins. Data can also be fed back on itself for chaotic effects.
vModSynth
- vModSynth -a modular software synthesizer for Linux. It is not intended to be as convenient as possible, but to resemble the look & feel of a real, analog, modular software synthesizer.
Zyne
- Zyne - a Python modular synthesizer using pyo as its audio engine. Zyne comes with more than 10 builtin modules implementing different kind of synthesis engines and provides a simple API to create your own custom modules.
Synth-A-Modeler
- Synth-A-Modeler compiler, enables musicians to synthesize binary DSP modules according to mechanical analog model specications. This open-source tool promotes modular design and ease of use. By leveraging the Faust DSP programming environment, an output Pd, Max/MSP, SuperCollider, VST, LADSPA, or other external module is created, allowing the musician to hear the sound of the physical model in real time using an audio host application.
TX Modular
- TX Modular - a modular software synth system which is written in the SuperCollider language. It can be used to build interactive audio systems such as: digital musical instruments, interactive generative compositions, sound design tools, live audio processing tools, and group improvisation performance tools.
The TX Modular system includes many different modules such as: waveform generators, multi-track & step sequencers, sample & loop players, envelope generators, wavetable synths, filters, noise generators, LFOs, delays, compressors, gates, flangers, pitch-shifters, reverbs, vocoders, distortion, ring modulation, file recorders and file players, plus many more. The user can choose which modules to use and build these into a "system", adding audio files for samples and loops. Audio and modulation signals can be sent around the system allowing for all kinds of ways to link and control modules. There is also a video modular app called TXV which is controlled by and linked to the TX Modular system. TXV has it's own modules for generating 2D and 3D visuals, importing images, movies, 3D models and text, adding modulation and various real-time FX - such as image blur, colour manipulation and masking.
- YouTube: TX Modular 087 Quick Demo
- YouTube: TX Modular 087 Building An Interface
- YouTube: TX Modular 087 - MultiTrack Sequencer part 1
- YouTube: TX Modular 087 - MultiTrack Sequencer part 2
- YouTube: TX Modular 087 - MultiTrack Sequencer part 3
- YouTube: TX Modular 089 - Intro to TXV part 1 - the visual engine for TX Modular
- YouTube: TX Modular 089 - Intro to TXV part 2
SynthForge
VCV Rack
- https://gitlab.com/sonusdept/hijack - VCV Rack - JACK bridge
- https://github.com/Skrylar/skjack-vcv - First-class JACK support for VCV Rack
- https://github.com/bsp2/VeeSeeVSTRack - an adaption of VCV Rack for the VST2.4 format.
- https://gitlab.com/sonusdept/rlbridge - VCV Rack to LV2 Bridge
- https://github.com/mzuther/ProtoFaust - DSP prototyping in Faust for VCV Rack
- https://github.com/qno/vcv-plugin-cmake-example - Example repository for developing a VCV Rack plugin with CMake.
- https://github.com/stellare-modular/vcv-link - Ableton Link module for VCV Rack
- https://github.com/mschack/VCV-Rack-Plugins - 3 Channel 16 Step Programmable Sequencer. Mixer 1x4, 2x4 and 4x4 (with EQ, 4xAUX buses, and 2 x amplification ). Triad Sequencer ( v0.4.10 and above will not load notes properly from pre v0.4.10 builds ). Synth Drums. Ping Pong Delay (with Gnip Gnop mode). 3 Channel Oscillator with Filter and Amp Envelope
- http://www.autodafe.net/virtual-instruments/vcv-rack-modules.html - register to download, free with €5 suggested donation
- https://github.com/clone45/voxglitch/tree/master - Modules for VCV Rack
- https://github.com/mgunyho/PdArray - PdArray plugin for VCV Rack
- https://github.com/MarcBoule/ImpromptuModular - Virtual Eurorack Modules for VCV Rack
Cardinal
- https://github.com/DISTRHO/Cardinal - VCV as plugin experiment
Axiom
- https://github.com/monadgroup/axiom - an extremely flexible node-based realtime audio synthesizer. It was originally designed for size-constrained environments such as PC intros in the demoscene, but is entirely open source and is becoming an excellent free tool for any musician. [13]
Undeveloped/archived.
XODULAR
- XODULAR - a new modular synthesizer system in Pure Data. Where the first XODULAR system was a collection of simpler synthesis building blocks, the ecoSYSTEM is a much more personal instrument. The modules are more specific and complex. I wanted to create an instrument with a unique workflow and sound. For this reason, I do suspect that it might not be as easy to dive straight into as the previous XODULAR system, but the sonic possibilities are much, much wider.
Automatonism
- Automatonism - a modular synthesiser that runs in the open source programming language Pure Data. It features a large library of 81 modules (version 2.1). Modular synthesis is akin to musical gardening: modules can spring to life and their interconnections suggest the formation of a sonic ecosystem. The act of patching is no different to playing any other instrument: it affords the opportunity to express oneself and directly engage with other people. It is towards that goal of performability and communication that Automatonism was created. It mimics the signal flow of a physical modular but features dynamic preset management and advanced parameter mapping tools on an open-source platform.
Twist
- Twist - a node-based audio synthesizer that lets you create sound effects and soundtracks. Its modular nature makes it possible to produce any kind of sound by just "connecting the dots".
PatchScript / MidiPatch
- https://github.com/kallaballa/PatchScript - A scriptable and modular real-time synthesizer engine
- https://github.com/kallaballa/MidiPatch - MidiPatch is a scriptable and modular real-time software synthesizer using the PatchScript API
Flow
- https://github.com/eclab/flow - a fully-modular multitimbral and polyphonic additive software synthesizer written in pure Java. It runs on OS X, Linux, and Windows. I have used it to play individual patches and to play many simultaneous patches for a full song controlled over MIDI via a DAW.Flow has almost 70 modules of different shapes and sizes, and currently supports up to 32 voices at up to 256 partials and 44.1KHz with a rate of one new partial update every 32 samples. Flow is a very computationally expensive program and will keep your laptop quite warm and your fan busy. You need to have some fairly good hardware to run Flow at full blast successfully (for reference, Flow was developed on a 2.8Ghz i7 2015 Macbook Pro Retina). There are options for reducing Flow's footprint (such as reducing the number of voices or partials).
- PDF: Flow manual
Moselle
- Moselle Software Synthesizer - for making music. Connect a MIDI keyboard to your computer, design sounds, and play them. Moselle uses the modular synthesizer paradigm of connecting modules any way you want. Unlike hardware modular synthesizers, Moselle is polyphonic and lets you load and save patches. Program it not with graphics but with a simple programming language. The fully-functional, stand-alone "alpha" version can be downloaded for free.
torchsynth
- https://github.com/turian/torchsynth - based upon traditional modular synthesis written in pytorch. It is GPU-optional and differentiable.Most synthesizers are fast in terms of latency. torchsynth is fast in terms of throughput.
NoiseCraft
- NoiseCraft - an open source, visual programming language and platform for sound synthesis and music making, with the goal of creating a community for the open exchange of musical ideas. The design is loosely inspired by PureData, Max/MSP as well as other visual programming languages. NoiseCraft is built on technologies such as the Web Audio and Web MIDI APIs, and runs in a web browser. The plan is for the app to remain free to use and ad-free for the foreseeable future.
- NoiseCraft Browse Page - On this page you can browse projects created by other users of NoiseCraft. You can share your own projects, or modified versions of existing projects, by clicking on the Share button in the top menu bar. Have fun, and please share some of what you create with the community.
Sassy
- https://github.com/jarikomppa/sassy - a virtual modular synthesizer with the interface of a spreadsheet.Binaries can be found at https://sol-hsa.itch.io/sassy The project is largely split into two parts: eval, which deals with evaluating the formulas in the cells, and sassy, the user interface. There's some overlap where eval handles things that are "pure math" whereas the interface can access data files and user interface elements.
Nim
- https://github.com/ftsf/nimsynth - A modular synth and sequencer made with Nim
Windows
XSRDO Patchwork Modular System
- XSRDO Patchwork Modular System - a true modular synthesizer. You can choose what modules you want, where to put them and how many of them you want. Each module is independant of any other and only becomes active when you start to patch them together in your own creative way. Features... 36 virtual 'racks', 50 virtual 'modules', Insert any module into any rack (except Effects, System and Output [of which only one instance of each type is allowed]), Insert multiple modules, Movable modules. Windows VST.
Kamioooka
- Kamioooka - a polyphonic Full-Modular synthesizer with patch cable system. You can freely combine modules and make patches. 10 module slots and 7 types of modules (VCO/VCF/VCA/ADSR/LFO/MISC/SEQ) are available. Windows VST.
WREN
- WREN - an open source modular soft synth for Windows
Cynthia
- Cynthia - monophonic VSTi, very Old School, but will still be able to keep in tune throughout the song, patches can be stored and it is of course fully MIDI controllable. Cynthia is free to use and will send you 30 years back in time to the dawn of modular synthesis... As the name implies its inspired from the old EMS SynthiA. Windows.
- YouTube: CYNTHIA VERSION 1. 0 by NineCows
KX77FREE
- KX77FREE - Windows VST synths
- Kx-PolyM-CSE - Vintage modular polyphonic synthesizer with CV/GATE sequencer and CS70M* emulation.
- Kx-PolyMod - Vintage modular polyphonic synthesizer with stereo SF2 player. To build analog 70's leads!
- Kx-Modulad - Analog modular synthesizer with stereo SF2 player and an additive synthesis WaveTracer to build high quality waveforms. 128 KX presets (70's and 80's).
- KX-SYNTH-X16-V5 - Vintage modular polyphonic synthesizer.
u-he Beatzille
- Beatzille - a compact version of our monster modular synthesizer Bazille. Although its condensed feature set makes it the ‘little brother’, Beatzille is still an engaging and capable synthesizer. Power and style run in the family. Digital oscillators, analogue-style filter and flexible patching will keep you busy for a good while before thinking about tackling Bazille.
4klang
- https://github.com/hzdgopher/4klang - a modular software synthesizer package intended to easily produce music for 4k intros (small executables with a maximum filesize of 4096 bytes containing realtime audio and visuals). It consists of a VSTi plugin example songs/instruments as well as an example C project showing how to include it in your code. Or if you dare to compile it yourself also the source code for the synth core and VSTi plugin.
64klang
- https://github.com/hzdgopher/64klang - a modular, nodegraph based software synthesizer package intended to easily produce music for 64k intros (small executables with a maximum filesize of 65536 bytes containing realtime audio and visuals) or 32k executable music. It consists of a VSTi plugin, a few example songs/instruments, as well as an example C project showing how to include it in your code for playback.
HexoSynth
- https://github.com/WeirdConstructor/HexoSynth - A FLOSS (Open Source) hexagonal modular synthesizer plugin. Like those encountered in projects like VCVRack or Bitwigs Polygrid. The core idea is having a hexagonal tile map for laying out module instances and connect them at the edges to route audio signals and CV signals to inputs of other modules. A goal is to provide a simple wireless environment to build sound effects, synthesizers or whole generative music patches from predefined modules. Hosting plugins (VST, LV2, ...) is out of the scope of this project. The goal is rather to have a good set of predefined modules.
TimeLines-hs
- https://github.com/lnfiniteMonkeys/TimeLines-hs - a powerful, versatile, and customizable modular synth and sequencer in the form of a live coding language. This means that instead of patching cables, moving sliders, and turning dials, one writes and modifies code (which is just maths in disguise) to describe how each synth’s parameters should be changing over time.You can think of it as the automation feature of modern DAWs on steroids, only instead of painstakingly clicking and dragging to get that shape just right, you use maths to do the job for you.
Hyperion Synth
- Hyperion Synth - $
Concatenative synthesis
- https://en.wikipedia.org/wiki/Concatenative_synthesis - a technique for synthesising sounds by concatenating short samples of recorded sound (called units). The duration of the units is not strictly defined and may vary according to the implementation, roughly in the range of 10 milliseconds up to 1 second. It is used in speech synthesis and music sound synthesis to generate user-specified sequences of sound from a database built from recordings of other sequences. In contrast to granular synthesis, concatenative synthesis is driven by an analysis of the source sound, in order to identify the units that best match the specified criterion.
PySoundConcat
- PySoundConcat - A python script for generating granular synthesis driven representations of audio files based on audio database analysis.
rhythmCAT
- https://github.com/carthach/rhythmCAT - VST for rhythmic concatenative synthesis
Algorythmic
See also Dataflow, Pure Data, Creative / live coding, Audio, Generative
One-line algorithmic / Bytebeat
- https://github.com/kragen/viznut-music - a collection of the programs from Algorithmic symphonies from one line of code -- how and why
- bytebeat.js - Based on Bemmu and viznut's and rarefluid's.
- https://github.com/greggman/html5bytebeat - the name of type of music made from math.You provide a function who's only input is time t and from that write some code to generate a sound.
- https://github.com/kragen/ar_bytebeat - a bytebeat synthesizer implemented on the Arduino. It's not the first bytebeat synthesizer on the Arduino, but I think it's the first that does real-time composite video visualizations of the signal, using the TVout library hacked to remove its audio output.
- https://github.com/linuxmao-org/EVALUA - A math synth plugin, unofficial DPF port
- https://github.com/wbrent/OUTPUT - uses so-called "bytebeat" algorithms as the foundation of its sound. It is a system for networked performers to improvise with these algorithms by freely changing bit depth, sampling rate, and parameter values. To enable relationships between algorithms and inject elements of human control, players can clone each other's settings, synchronize time variables, automate performed parameter changes, and control a range of standard audio environment elements.
- https://github.com/colourcountry/floatbeat - A programmatic sound/music generator inspired by bytebeat. Also an excuse to do something in Go. The generator takes as input a file which defines what it will initially play, using a Forth-like language. It also runs a web server which accepts replacement programs over a Web Socket.
- kilobeat - Inspired by bytebeat and web-based livecoding platforms, kilobeat is the collaborative web-based DSP livecoding instrument that you’ve been waiting for. Or, with less jargon: kilobeat is a fun music thing you can play with your friends over the Internet.
Graphics synthesis
See also Audio#Sonification
- Tonewheels Derek Holzer
- A Brief History of Optical Synthesis - Derek Holzer - Macumbista.net
- A Brief History of Optical Synthesis - written by Greg J. Smith, 2017
Variophone
- https://en.wikipedia.org/wiki/Variophone - developed by Evgeny Sholpo in 1930 at Lenfilm Studio Productions, in Leningrad, the Soviet Union, during his experiments with graphical sound techniques, also known as ornamental, drawn, paper, artificial or synthetic sound. In his research Sholpo was assisted by the composer Georgy Rimsky‐Korsakov. The Variophone was an optical synthesizer that utilized sound waves cut onto cardboard disks rotating synchronously with a moving 35mm movie film while being photographed onto it to produce a continuous soundtrack. Afterwards this filmstrip is played as a normal movie by means of a film projector. Being read by photocell, amplified and monitored by a loudspeaker, it functions as a musical recording process.
Oramics
- https://en.wikipedia.org/wiki/Oramics - a drawn sound technique designed in 1957 by musician Daphne Oram. The machine was further developed in 1962 after receiving a grant from the Gulbenkian Foundation. Oram's composition machine consisted of a large rectangular metal frame, providing a table-like surface traversed by ten synchronised strips of clear, sprocketed 35mm film. The musician drew shapes on the film to create a mask, which modulated the light received by photocells. Although the output from the machine was monophonic, the sounds could be added to multitrack tapes to provide more texture.
UPIC
- https://en.wikipedia.org/wiki/UPIC - (Unité Polyagogique Informatique CEMAMu) is a computerised musical composition tool, devised by the composer Iannis Xenakis. It was developed at the Centre d'Etudes de Mathématique et Automatique Musicales (CEMAMu) in Paris, and was completed in 1977. Xenakis used it on his subsequent piece Mycènes Alpha (1978), and it has been used by composers such as Jean-Claude Risset (on Saxatile (1992)), François-Bernard Mâche (Hypérion (1981), Nocturne (1981), Tithon (1989), Moires (1994), Canopée (2003)), Takehito Shimazu (Illusions in Desolate Fields (1994)), Mari King, and Curtis Roads. Aphex Twin talked about it in an interview
Physically, the UPIC is a digitising tablet linked to a computer, which has a vector display. Its functionality is similar to that of the later Fairlight CMI, in that the user draws waveforms and volume envelopes on the tablet, which are rendered by the computer. Once the waveforms have been stored, the user can compose with them by drawing "compositions" on the tablet, with the X-axis representing time, and the Y-axis representing pitch. The compositions can be stretched in duration from a few seconds to an hour. They can also be transposed, reversed, inverted, and subject to a number of algorithmic transformations. The system allows for real time performance by moving the stylus across the tablet. The UPIC system has subsequently been expanded to allow for digitally sampled waveforms as source material, rather than purely synthesised tones.
Coagula
- Coagula is an image synth. This means that it is both a simple image editor, and a program for making sound from those images.
HighC
- HighC - a graphical music creation tool. It is a synthesizer, a sequencer and a mixer. Its goal is to make music composition as simple and direct as sketching.
Graph-O-Spect
- Graph-O-Spect - This program embeds images into sound files. It creates a .wav file whose spectograph matches the input .ppm file.
SpectroBits
- SpectroBits - Spectrogram Synthesizer
Virtual ANS
- Virtual ANS is a software simulator of the unique Russian synthesizer ANS - photoelectronic microtonal/spectral musical instrument created by Russian engineer Evgeny Murzin from 1938 to 1958. Murzin named his invention in honour of the composer Alexander Nikolayevich Scriabin. The instrument was used by Stanislav Kreichi, Alfred Schnittke, Edison Denisov, Sofia Gubaidulina, Edward Artemiev and other Soviet composers. You can hear the sound of the ANS in Andrei Tarkovsky's movies Solaris, The Mirror, Stalker. In 2004, the British experimental group Coil released CoilANS, a boxed set of experimental drone music performed on the ANS.
Virtual ANS (2)
AEO-Light
- AEO-Light - a new generation of optical sound extraction software developed by the University of South Carolina in close cooperation with Tommy Aschenbach. The project is made possible by the generous support of the National Endowment for the Humanities. The official project webpage contains additional information about the project’s history.
SoundGrid
- SoundGrid - integrates sound composition and Cartesian coordinate graphing. Sound Grid is also a sonification tool via tabular cut and paste functions.
ARSS
- The Analysis & Resynthesis Sound Spectrograph - analyses a sound file into a spectrogram and is able to synthesise this spectrogram, or any other user-created image, back into a sound.ARSS is now superseded by Photosounder, which makes use of most of the techniques offered by ARSS in a simple to use and powerful graphical user interface and built in editor.
Photosounder
- Photosounder - the first audio editor/synthesizer to have an entirely image-based approach to sound creation and editing. Thanks to its powerful and omnipotent synthesis algorithms, it is capable of creating any sound possible. Powerful built-in image editing tools, some yet unknown to general image editing programs, are specifically tailored to enable you to create and edit sounds with ease in ways and with results simply impossible with other programs.
steg
- https://github.com/ZoeB/steg - Convert ASCII messages into sine waves
WavePainter
- WavePainter - a custom wavetable synthesizer which allows the user to draw a waveform and then play it at any pitch using MIDI input. It is intended to run on a Raspberry Pi with the PiTFT Capacitive Touchscreen.WavePainter uses the JACK Audio Connection Kit for synthesis and Java for the GUI. MotivationWavePainter intends to give the user ultimate freedom in sound creation. The touchscreen interface will make sound creation both a visual and a tactile experience, and real-time feedback via MIDI input will allow the user to adjust their sound exactly as they like. WavePainter is not intended to make hi-fi sounds (and probably will not be able to, considering hardware limitations), but to make interesting and organic sounds.
file-plot_rpm.pl
- http://www.windytan.com/2020/12/plotting-patterns-in-music-with-fantasy.html
- https://gist.github.com/windytan/d46686709ff43cd679d52c17302f7736#file-plot_rpm-pl-L5 - Plot the amplitude in an audio file as a grayscale image
Virtual reality
- SynthVR
- https://github.com/42tones/SynthVR-Modules - A collection of modules made available in SynthVR as a native library.