Electronic music - modular DIY - Learning from existing devices

From Helpful
Jump to navigation Jump to search

The physical and human spects dealing with audio, video, and images

Image: file formats · image noise reduction · blur detection · halftoning, dithering · illuminant correction · Image descriptors · Reverse image search · image feature and contour detection · OCR · Image - unsorted

Displays: Video display notes · before framebuffers · Simpler display types · Display DIY ·· Screen tearing and vsync · Arguments for 60fps / 60Hz in gaming‎‎

Video: file format notes · video encoding notes · Subtitle format notes


Vision and color perception: physics, numbers, and (non)linearity · objectively describing color · the eyes and the brain · color spaces · references, links, and unsorted stuff · Lux and lumen

Audio physics and perception: Sound physics and some human psychoacoustics · Descriptions used for sound and music · multichannel and surround · Sound level meter notes


Noise related: Stray signals and noise · sound-related noise names · electronic non-coupled noise names · electronic coupled noise · ground loop · (tape) noise reduction · strategies to avoid coupled noise · emphasis · Sampling, reproduction, and transmission distortions

Digital sound and processing: capture, storage, reproduction · on APIs (and latency) · programming and codecs · some glossary · audio noise reduction · Audio and signal processing - unsorted stuff


Music electronics: device voltage and impedance, audio and otherwise · amps and speakers · basic audio hacks · Simple ADCs and DACs · digital audio
On the stage side: microphones · what can I plug into what? · audio levels & technical gritty · devices you'll use · cables, connectors, adapters · effect hardware · sync

Electronic music and DIY:

approaches to making sounds · some history · interesting instruments · Gaming synth ·
Synth: MIDI · sync · Electrical components, small building blocks · VCO, LFO, DCO, DDS notes · microcontroller synth · audio platforms
modular synth: formats (physical, interconnects) · physical · Learning from existing devices · eurorack power supply ·· Modules/makers of note: Mutable instruments
DAW: audio plugins · Ableton notes · MuLab notes · Mainstage notes · VCV Rack notes


Unsorted: Visuals DIY · Signal analysis, modeling, processing (some audio, some more generic) · Music fingerprinting and identification

For more, see Category:Audio, video, images


Multiples (mults) and mixers

Passive multiple

Switched passive multiple

A switched passive multiple is one of the most basic routing trick you can pull.


Consider a socket wired to a three-position, on-off-on switch. These switch the middle pin to one side, to nothing, or to the other side.

Now consider a bunch of those, with

each middle position wired to a socket
the sides wired to the same side of other instances of that socket-and-switch


What you have just made is a multiple that you can switch to two different buses, and can switch off.


https://youtu.be/nDyEjh-dviU?t=245


It does still have the issue of outputs driving into each other, and it may be slightly less obvious what is combined when.

So you probably want to consider making a safer active version of this, where some of them are inputs and some of them are outputs.


Active multiple

Conditional multi

Basically, an input is connected to an output only if a gate signal says so

it may be easy to add an inverted gate input as well
and a manual pushbutton if you care


This is, in theory, just a transistor.

Which also buffers that input, so you can make a safer "OR".


There are footnotes to 'just a transistor', and there are different upsides and footnotes to alternatives like a 4016.


Buffered mixers

Basic DC mixer

LFOs

STOMPLFO (Electric Druid)

Inputs:

tap tempo (Gate)
pitch (CV)
waveform (CV)
depth (CV)
offset (CV)

Outputs:

12-bit ~32kHz signal (PDM)
waveforms with an LFO rate in the range of 0.05..25Hz


https://electricdruid.net/product/stomplfo/

https://electricdruid.net/datasheets/STOMPLFODatasheet.pdf


TAPLFO 3C (Electric Druid)

https://electricdruid.net/datasheets/TAPLFO3Datasheet.pdf


VCLFO 10 (Electric Druid)

https://electricdruid.net/datasheets/VCLFO10Datasheet.pdf


CGS21 Super Psycho LFO

40106 hex schmitt oscillators - no CV control, just a bunch of slow changing things for cheap.


https://www.elby-designs.com/webtek/cgs/cgs21/cgs21_super_psycho.html


DIY LFO

Arduino LFO:

https://web.archive.org/web/20190827133234/http://discuss.littlebits.cc/t/arduino-lfo-code-included/18567


Envelope generators, VCAs

ONESHOT (Electric Druid)

Envelope generator notes

Envelope generators, a.k.a. transient generators, create a curve of a particular shape.


There are many types. ADSR was a great balance in ease of implementing and decent approximations of what a lot of natural instruments do, amplitudewise.

It was also made fairly early-days, so once once it appeared, it became so common that envelope generators and ADSR were and still are near-synonyms.

ADSR

The ADSR has four stages, four settings:

Attack time
Decay time
Sustain level
Release time


Note that analog ADSRs usually had D and R falloffs based on RC circuits, meaning they are exponential falloffs, not linear as often shown in diagrams.

You won't consciously hear that difference, but it seems exponential falloff for decay and release sounds slightly less mechanical than linear, and while linear falloff is easier to implement digitally, exponential falloff is also frequently implemented.

For example, the SID chip does a piece-wise approximation of such a falloff.

(And yes, you can get a nonlinear VCA to interpret linear envelope, but it's messy in terms of levels and would also apply to attack, where you may not want it, or want it the other way (verify))


Simpler-than-ADSR variants

You can omit parts of the ADSR, and most of the possible simplification exist somewhere

  • ASR / ASD
attacks to the sustain level (and then holds it as long as it's gated), and releases
i.e. skips the delay-from-peak-to-sustain
  • ADR
basically ADSR without the sustain level being settable
e.g. on the Yamaha GX1 [1]
  • AD
sometimes just a pulse (because no sustain)
sometimes actually refers to ASD/ASR
The difference between AD and AR, and ASD and ASR, is inherently fuzzy in practice


Some of these simpler ones also come from simple schematics that can do AD/AR, AD/ASR, or such.

More-complex-than-ADSR variants

Note that synths are not fully consistent about what these mean, so while the acronym is probably a good guide, check the manual for details.


  • AHDSR, adding a fixed/configurable time to hold the max, before decaying to the sustain
e.g. on the Korg MS-20
and further combinations, like DAHDSR
  • ADSHR, adding a fixed/configurable hold time after release
e.g. on the Korg MS-20
and further combinations, like
  • DADSR Delay, Attack, Decay, Sustain, Release ()
i.e. a small delay before the attack
e.g. on the Prophet 8
  • DAHDSR (where the first D is a delay before the attack, and H is a peak hold(verify))
  • ADBSSR: attack, decay, slope, sustain, release (6 parameters controlling 5 stages)
slope being slope up to sustain level (after the decay)
e.g. on the Korg EX800
Uses over ADSR is mainly sounds with an initial pulse (with short attack/decay times)



Envelopes are often explained in a "I want to go to max/sustain/min level in this amount of time", but that isn't necessarily how they are implemented.

Implementations are also frequently rate-based, e.g. analog ones where you essentially control the rate of charging.

Once we had digital envelope generators, it was easier to move beyond the trapezoid shapes of ADSR.


In digital synthesis, rate-and-level envelopes (like in the Casio CZ series, the DX7 and similar) are also a thing, which specify how much to add per interval and until what value - basically counters.

These may additionally vary in what new notes do when in what stage - sometimes from specific choices and sometimes from limitations.


This seems mostly because if you have a clock running this is simple (just add/subtract, and compare).

It's not the only (or most natural) way of doing it, though - e.g. counters often mean linear decays, which isn't the most natural. E.g. even the SID's digital envelope already approximates exponential decay with piecewise linear segments.


Consider DX7's Envelope Generator

eight settings, four stages
think of these as a level you want to reach, and how fast you want to reach them.
'how fast' in terms of slope, not time.
Smaller slope means longer time (which is also turning the rate knob left is longer, counterintuitively)
implementation is roughly "while not at level, add rate"
you can make ADSR envelope with this, but also e.g. a quick pulse and a swell
if you're playing with this on dexed, know that the plots are exhaggerated rather than accurate(verify)
  • Roland Alpha Junos
five stages


In software of the DAW kind there are even more arbitrary envelope shapes, just because we can.




http://en.wikiaudio.org/ADSR_envelope

http://synthmuseum.com/magazine/linexpo.html


Gates while you work
ADSR DIY
Envelopes and subtler expression

ADSR only takes a boolean gate input, being on while a gate is high. After all, it is an envelope generator's whole thing to make something stupidly simple into something expressive.


If you have a velocity sensitive pad that sends you how much pressure is on it (from a MIDI perspective, aftertouch all the time), this begs the question how this should be translated to envelope.

Directly makes slow release or fast attack your precisin problem, though, which you usually don't want.

So while velocity sensitivity sounds complex, but in a lot of cases you can pretty much gate it as before, and have the velocity control the sustain level.


Further features, and non-ADSR envelopes

Audio amplitude utilities

VU and/or peak LED

envelope follower notes

Sidechaining

Trigger/gate utilities

Gate delay

Gate in goes to gate out -- after some delay that is configurable.

Pot already goes a reasonable way. Possibly CV.

https://www.youtube.com/watch?v=lHZy4m9qWWA

Sequencers, rhythm (master or derived), and other triggerers

DIY: Baby 10 / Baby 8

baby 8 sequencer schematic


DIY: Baby16

Harmonaig (Instruo)

CV parameter utilities

Attenuator, attenuverter

Sample and hold

Track and hold

Slew

CV samplers and loopers, delay

Pitch utilities

Quantizers

(Octave) transposing

Sound producers

Filters

Effects

Sampling

Morphagene (Make noise)

Clouds (Mutable Instruments)

Cutlasses looper

Lo-fi / cheap options

Examples

Other utilities

Maths (Make noise)

Octocontroller (Abstract Data)

CV input / Control from other systems

CV

Manual CV

Joystick

MIDI

DIN sync

OSC

The idea of a sensor module

Audio input

Do you need an audio input module?

Interfacing with guitar pedals

Expert sleepers lil Mikey

A-119 Ext.In.

BMC30 Guitar Input

Other notes

Audio output

Do you need an output module?

Panning mixer

Balanced driver