All Projects â†’ brettbuddin â†’ Shaden

brettbuddin / Shaden

Licence: mit
🎧 A modular audio synthesizer.

Programming Languages

go
31211 projects - #10 most used programming language
lisp
113 projects

Projects that are alternatives of or similar to Shaden

Audiobench
Open source modular synthesizer
Stars: ✭ 63 (-64%)
Mutual labels:  modular, audio, midi, synthesizer
Daisysp
A Powerful, Open Source DSP Library in C++
Stars: ✭ 291 (+66.29%)
Mutual labels:  audio, dsp, synthesizer
kiro-synth
Modular sound synthesizer written in Rust
Stars: ✭ 62 (-64.57%)
Mutual labels:  modular, midi, synthesizer
Supriya
A Python API for SuperCollider
Stars: ✭ 167 (-4.57%)
Mutual labels:  audio, dsp, synthesizer
arm synth
Wavetable Synth Running on an STM32F 32-bit ARM Cortex M3 microprocessor
Stars: ✭ 23 (-86.86%)
Mutual labels:  midi, dsp, synthesizer
synth
A Teensy 4 modular FM polyphonic synth.
Stars: ✭ 39 (-77.71%)
Mutual labels:  modular, midi, synthesizer
Fsynth
Web-based and pixels-based collaborative synthesizer
Stars: ✭ 146 (-16.57%)
Mutual labels:  audio, midi, synthesizer
Omnimidi
A software MIDI synthesizer for professional use.
Stars: ✭ 181 (+3.43%)
Mutual labels:  audio, midi, synthesizer
Dx7 Supercollider
My accurate Yamaha DX-7 clone. Programmed in Supercollider.
Stars: ✭ 395 (+125.71%)
Mutual labels:  audio, dsp, synthesizer
Romplayer
AudioKit Sample Player (ROM Player) - EXS24, Sound Font, Wave Player
Stars: ✭ 445 (+154.29%)
Mutual labels:  audio, midi, synthesizer
Webaudiofont
Use full GM set of musical instruments to play MIDI and single sounds or effects. Support for reverberation and equaliser. No plugins, no Flash. Pure HTML5 implementation compatible with desktop and mobile browser. See live examples.
Stars: ✭ 600 (+242.86%)
Mutual labels:  audio, midi, synthesizer
Chataigne
Artist-friendly Modular Machine for Art and Technology
Stars: ✭ 251 (+43.43%)
Mutual labels:  audio, midi, art
Adlplug
FM Chip Synthesizer — OPL & OPN — VST/LV2/Standalone
Stars: ✭ 249 (+42.29%)
Mutual labels:  audio, midi, synthesizer
tune
Make xenharmonic music and create synthesizer tuning files for microtonal scales.
Stars: ✭ 73 (-58.29%)
Mutual labels:  modular, midi, synthesizer
Mt32 Pi
🎹🎶 A baremetal kernel that turns your Raspberry Pi 3 or later into a Roland MT-32 emulator and SoundFont synthesizer based on Circle, Munt, and FluidSynth.
Stars: ✭ 231 (+32%)
Mutual labels:  audio, midi, synthesizer
Sporth
A small stack-based audio language.
Stars: ✭ 325 (+85.71%)
Mutual labels:  modular, audio, dsp
Awesome Music Production
A curated list of software, services and resources to create and distribute music.
Stars: ✭ 340 (+94.29%)
Mutual labels:  audio, midi, synthesizer
Sonic Pi
Code. Music. Live.
Stars: ✭ 8,736 (+4892%)
Mutual labels:  audio, art, synthesizer
Audiokitsynthone
AudioKit Synth One: Open-Source iOS Synthesizer App
Stars: ✭ 1,258 (+618.86%)
Mutual labels:  audio, midi, synthesizer
Rust Jack
Decent jack bindings for rust
Stars: ✭ 128 (-26.86%)
Mutual labels:  audio, midi

Shaden

Build Status GoDoc Go Report Card

Shaden is a modular audio synthesizer. Patches for the synthesizer are written in a Lisp dialect. A REPL and HTTP interface are provided for interacting with the synthesizer in real-time. I started this project as a way of learning more about digital signal processing and music theory. Consider this an art project.

The name "shaden" comes from the Cycle of Galand book series by Edward W. Robertson.

Highlights

Dependencies

On macOS you can install these dependencies with: brew install go portaudio portmidi

Getting Started

Install

$ go get -u github.com/brettbuddin/shaden

CLI Usage

REPL

$ shaden -repl
> (define gen (unit/gen))
> (-> gen (table :freq (hz 300)))
> (emit (<- gen :sine))

Load File

$ shaden examples/frequency-modulation.lisp

HTTP

$ shaden examples/krell.lisp
$ curl -X POST http://127.0.0.1:5000/eval -d "(=> rise (table :x (ms 100))) ; ..."

This is my preferred way of interacting with the synthesizer. I've written a small Vim plugin that can send over snippets of Lisp code to the program for evaluation. You can find that plugin here.

The HTTP interface is limited to Lisp evaluation at the moment, but I have hopes of providing an API for direct graph manipulation via HTTP.

Lisp

For a more information about the Lisp dialect bundled with Shaden, check out the wiki.

Examples

The best way to get to know the way patching works in Shaden is to look at the examples directory.

I gave a lightning talk at GopherCon 2018 about Shaden:

GopherCon 2018 Lightning Talk: Brett Buddin - Modular Audio Synthesis with Shaden

Shaden was used to create the intro music for the GothamGo 2017 and GothamGo 2018 conference videos. I frequently post patches I've created on Instagram.

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].