|
|
Log in / Subscribe / Register

21st-century Csound

21st-century Csound

Posted Nov 8, 2012 14:02 UTC (Thu) by nix (subscriber, #2304)
Parent article: 21st-century Csound

the language has been designed for directness and simplicity
It's a bit damning that the hello world example includes things like
f1 0 8192 10 1
which need comments above them to remind you what the various unlabelled bits do. I can't help looking at this and thinking that something Schemey would be a better choice -- or, heck, something just more regular, for which almost any language would suffice. The current language looks frankly gruesome, although, of course, I'm saying this with no more exposure to it than this one example. I can see why people have written APIs for other languages! This seems rather like TeX: something with a stunningly capable backend driven by a language that is barely there, better used as an assembler emitted by other languages than as a language for human use itself.


to post comments

21st-century Csound

Posted Nov 8, 2012 14:40 UTC (Thu) by roet_fuss (guest, #87734) [Link]

Well you can do this, if you wish

isize = 8192
itime = 0
inum = 1
igen = 10
iharm1 = 1

itab ftgen inum,itime,isize,igen,iharm1

======
The score language is just data specification, and because if its simplicity, it allows easy creation by a score generator. But if you don't like it, you can just ignore and leave it aside. It's just one of many ways to control the synthesis.

21st-century Csound

Posted Nov 8, 2012 14:51 UTC (Thu) by mpr22 (subscriber, #60784) [Link]

The score and orchestra syntaxes are mostly just old, having been inherited from its minicomputer and mainframe predecessors. I hadn't noticed them being particularly irregular.

21st-century Csound

Posted Nov 8, 2012 19:16 UTC (Thu) by guus (subscriber, #41608) [Link]

The score notation in Csound is indeed not very helpful for a beginner. Its power lies in the fact that you can provide as many parameters as you want to each event, and these can be used by instruments to modify their sound in many ways, as opposed to only an amplitude and a duration.

I have started using Csound a year ago, but I am not using its score functionality. Instead, I am writing the music in ABC notation, which is still an ASCII format, but which is much more intuitive. I convert the ABC score to MIDI, which can then be processed directly by Csound. The only drawback is that Csound instruments need to be explicitly written to handle MIDI events, although it is not hard to modify existing ones.

Writing good instruments is also hard for a beginner. A sine wave is easy, but unless you are composing chiptunes, you probably want something more realistic. Fortunately, you can use VST instruments, or for example use the FluidSynth engine to play back samples from soundfonts.

You can find a simple example of my ABC+FluidSynth+Csound setup, which renders music from its source files by simply using the "make" command, here:

http://sourceforge.net/p/pr-starfighter/code/ci/070d67e91...


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds