Ciro Santilli $$ Sponsor Ciro $$ 中国独裁统治 China Dictatorship 新疆改造中心、六四事件、法轮功、郝海东、709大抓捕、2015巴拿马文件 邓家贵、低端人口、西藏骚乱
🔗

Csound

| 🗖 nosplit | ↑ parent "Text-based music synthesizer" | words: 534 | descendant words: 678 | descendants: 3
🔗
🔗
🔗
XML file format (but with 99% of the action of interest in a domain-specific language on the CsInstruments and CsScore elements) that can be played and the reference implementation. Offers complex effects out-of-box apparently.
🔗
Allows you to easily define instruments with seemingly arbitrary mathematical functions, and then use them to play notes at given time intervals.
🔗
The instrument functions can be parametrized, and each note played can have different parameters.
🔗
The instrument definition actually defines a block diagram graph, much like a hardware synthesizer would.
🔗
Csound is so not-bloated that it contains an UI system. And it includes an interactive virtual MIDI keyboard that interacts with parameter knobs: http://www.csounds.com/manual/html/MidiTop.html
🔗
But hey, it's fun. And like any other good DSL, debugging it is barbaric of course.
🔗
If only it had been written in Python... the array manipulation boilerplate would be likely perfect for NumPy, and this would have been exactly what Ciro Santilli wanted!
🔗
CSound states that one of its design goals is backward compatibility, and it shows. Some of the stuff is utterly arcane, e.g. you have to remember what GEN10, GEN11, etc. mean instead of having named enums.
🔗
Ubuntu 20.04:
sudo apt install csound
git clone https://github.com/csound/csound
cd csound
git checkout 92409ecce053d707360a5794f5f4f6bf5ebf5d24
csound examples/xanadu.csd
and this plays a relly cool sound demo:
Video 211. Xanadu Csound demo Source.
🔗
Save to file instead of playing:
csound -o xanadu.wav xanadu.csd
or direct ogg output:
csound --ogg -o xanadu.ogg xanadu.csd
or pipe to stdout to FFmpeg TODO: https://stackoverflow.com/questions/64970503/how-to-pipe-csound-output-to-ffmpeg-for-conversion-without-an-intermediate-file
🔗
TODO find the most amazing set of songs made with it on GitHub? Some examples:
🔗
Documentation-wise, it's a bit lacking. The only dude who can explain it really well, Dr Richard Boulanger, made the "The Csound Book" closed source, so, congrats, this will forever hurt the popularity of Csound.
🔗
🔗
🔗

Ancestors

🔗