Very good open source book: github.com/csound-flossmanual/csound-floss
Includes introduction to the basic sound synthesis and their implementation in Csound.
Examples run on browser via Emscripten and just worked on Ubuntu 20.04!
Examples can also be downloaded all at once from: www.csound-tutorial.net/floss_manual/ Shame not in Git as standalone files.
www.youtube.com/watch?v=0hfdSrK46EE How To Use A Minimoog Synthesizer by Doctor Mix (2020)
Software emulators:
Higher level than Csound: describes the notes only, not the exact waveforms it seems.
Therefore also a bit harder to convert to actual sound: stackoverflow.com/questions/33775336/convert-musicxml-to-wav but possibly easier to convert to LilyPond.
Now they need to create a "MusicCSS" that gives the waveforms! :-)
The usual "let's make a standard without a reference implementation" W3C approach.
Contains instructions on how to synthesize MIDI.
Extension: sf2.
Can be imported for example by:
- vmpk
- Csound with
sfload
: www.csounds.com/manual/html/sfload.html
domain-specific language unfortunately, but at least it's on GitHub, looks promising.
How to play scores and save them to files is discussed at: doc.sccode.org/Guides/Non-Realtime-Synthesis.html
They have a nice looking IDE, but running anything from the command-line interface is super hard, much unlike Csound. How to get a decent hello world: stackoverflow.com/questions/65360414/how-to-play-a-supercollider-file-non-interactively-from-the-terminal-command-lin
Sample composition with custom synths + notes: sccode.org/1-5cl
leanpub.com/ScoringSound looks like a decent tutorial, it is basically the Csound FLOSS manual for SuperCollider.
Contains a large database of instruments, and allows you to edit them. This is a fun toy.
Instruments are edited on a GUI. It is a multi-window program, and you open new windows from new windows from new windows, all filled with hundreds of virtual knobs that you drag with your keyboard, and which would be better done from textual software like Csound. It is a thing of beauty.
It does not seem possible to program arbitrary modular synthesizer circuits therefore. But if you understand additive synthesis and subtractive synthesis well, you can make some funky sounds with it.
It is basically a superset of all popular hardware synthesizers ever made.
Has its own built-in MIDI keyboard which is nice.
On Ubuntu 20.04 Version: 3.0.5:as per askubuntu.com/questions/220802/no-sound-zynaddsubfx-and-jack-wont-run/1297988#1297988
To do anything of interest, switch to the Advanced UI:
sudo apt install zynaddsubfx
zynaddsubfx -O alsa
To do anything of interest, switch to the Advanced UI:
- Misc
- Switch Interface Mode
The UI is completely different form what is shown on the website as of 2020: zynaddsubfx.sourceforge.io/, it looks instead like: www.youtube.com/watch?v=iVPr6iUuO3g Maybe on the website it is the new zyn-fusion UI... www.reddit.com/r/linuxaudio/comments/bxn3ur/some_help_for_installing_zynfusion_zynaddsubfx/ so confusing.
And they have some crappy policy of asking for 45 USD for binary downloads.
Compiling from source:fails with:Ciro gives up for now.
git clone https://github.com/zynaddsubfx/zynaddsubfx
cd zynaddsubfx
git checkout a789866de4d45a784c1f4d95fcf5a1938347baef
sudo apt build-dep zynaddsubfx
mkdir build
cd build
cmake ..
make -j`nproc`
Traceback (most recent call last):
File "/usr/bin/cxxtestgen", line 7, in <module>
import cxxtest.cxxtestgen
File "/usr/share/cxxtest/cxxtest/__init__.py", line 33, in <module>
from cxxtest.cxxtestgen import *
File "/usr/share/cxxtest/cxxtest/cxxtestgen.py", line 18, in <module>
import __release__
ModuleNotFoundError: No module named '__release__'