Source: /cirosantilli/advanced-linux-sound-architecture

= Advanced Linux Sound Architecture
{c}
{title2=ALSA}
{wiki}

ALSA can be thought as analogous to  physical wires linking up machines.

Except that instead of machines, you have separate programs. One such typical link is:
* from a MIDI source, e.g. <vmpk> or a <MIDI> editor with playback like <Ardour (software)>
* to a synthesizer like <FluidSynth> or <ZynAddSubFX>

The advantage of this setup is that separate programs can collaborate to make complex sounds. 

The disadvantage of this setup is that it makes it very hard to reproduce results, you basically need a <Docker (software)> image with the exact same version of everything. And some script to launch and connect all programs correctly.

Some composition systems like <LMMS> reduce that problem by having synthesizers as plugins, so that you don't have to setup any connections yourself.

`aconnect` <vmpk> <hello world>: https://askubuntu.com/questions/34391/virtual-midi-piano-keyboard-setup/1298026\#1298026