KostarevVI / granular-synthesizer

Summer Practice (SPbSTU, 2nd year, 2019)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Granular Synthesizer (Granny Synth)

Summer Practice project for SPbSTU during 2nd year.

Info

This device was made to explore musical possibilities of Arduino and bring creativity/fun to my own music composing experience. Synthesizer has 5 knobs:

  • scale (chose the note to play from major pentatonic scale);
  • 2 oscillator knobs (changing frequency of the grain)
  • 2 filter knobs (changing decay of the grain)

Also it can be controlled with MIDI signals from PC with DIN 5 port and Dip Switches (MIDI channel selector).

Small Dip Switch on the front panel selects wether synthesizer will be waiting for MIDI notes or playing note constantly according to scale knob position.

About granular synthesis

Sound is generated by playing the same noise ('grain') repeatedly at very high speed. This merges into a tone that is an audible hybrid of the repetition rate and the original grain. It sounds quite similar to an oscillator with two resonating bandpass filters, although the different architecture means there are lots of additional interesting noises at parameter extremes.

The grain consists of two triangular waves of adjustable frequency, and adjustable decay rate. This is based on FOF synthesis model, but using triangle waves instead of sine and using a rectangular window.

Project was parcially based on this:

https://code.google.com/archive/p/tinkerit/wikis/Auduino.wiki

Wiring

image

5 - Potentiometers - 4.7K (or 5K) with knobs; 1 - Arduino Nano board; 1 - 1/4" Mono Phone Jack; 1 - 2.1mm Power Adapter Jack (Fully Shielded); 1 - 9V DC Power Adapter (Rated at 50mA or more); 1 - Hammond or any other enclosure; 1 - 4 channel Dip switch; 1 - Opto-isolator (6N138); 1 - DIN 5 MIDI; 4 - Resistors (one each: 220, 470, 1k, 2.2k Ohm); 1 - Diode; 2 - Capacitors (electrolytic: 100uF, ceramic: 33nF); ...and a lot of wires.

Usage

  1. Wire up all components (be sure to check port number in code's #define section);
  2. Upload sketch into Arduino;
  3. Connect headphones or speaker to the synth and tweak the knobs.

Images

Work in progress: image

Front panel:image

Back panel: image

About

Summer Practice (SPbSTU, 2nd year, 2019)


Languages

Language:C++ 100.0%