Csound

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Csound je programovací jazyk pro práci se zvukem, dostupný pro většinu hlavních operačních systémů. Jedná se o svobodný software, dostupný pod licencí LGPL.

Csound vychází z jazyků MUSIC-N, jejichž původním autorem byl Max Mathews z Bell Labs. Modernizované verze Music 360 a Music 11 vytvořil na MIT Barry Vercoe, který též na základě jazyka Music 11 vytvořil v roce 1985 první verzi jazyka Csound. Název Csound odráží skutečnost, že je na rozdíl od svých předchůdců napsaný v programovacím jazyku C. Další vývoj vedl od 90.let John Fitch na universitě v Bath. K projektu přispěli i vývojáři jako Istvan Varga, Gabriel Maldonado (který vytvořil část systému CsoundAV, která obsahuje rozšíření pro zpracování obrazu a grafiky), Robin Whittle, Richard Karpen, Michael Gogins, Matt Ingalls, Steven Yi, Richard Boulanger, a Victor Lazzarini.

V současnosti je aktuální verze 5, jejíž první zdokumentovaná verze 5.01 je ze dne 18. března 2006.

S jazykem Csound úzce souvisí jazyk SAOL pro MPEG-4 Structured Audio, který též vychází z jazyků MUSIC-N.

Program v jazyce Csound[editovat | editovat zdroj]

Csound používá na vstupu dva speciálně formátované textové soubory. Soubor typu orchestra (,orc) popisuje strukturu nástrojů a soubor typu score (.sco) popisuje noty a další parametry podle časové osy. Csound zpracovává instrukce v těchto souborech a vytváří výstupní zvukový soubor nebo audio stream v reálném čase.

Soubory typu orchestra a score mohou být sjednoceny do jednoho strukturovaného souboru pomocí značek značkovacího jazyka (CSD soubor s příponou .csd).

Jednoduchá ukázka sjednoceného Csound souboru, který vytvoří WAV soubor obsahující sinusový tón o délce 1 sekundy se vzorkovací frekvencí 96 kHz:

<CsoundSynthesizer>
 
  <CsOptions>
    csound -W -d -o tone.wav 
  </CsOptions>
 
  <CsInstruments>
    sr     = 96000           ; Sample rate.
    kr     = 9600            ; Control signal rate.
    ksmps  = 10              ; Samples per control signal.
    nchnls = 1               ; Number of output channels.
 
    instr 1 
    a1     oscil p4, p5, 1   ; Oscillator: p4 and p5 are the arguments from the score, 1 is the table number.
    out a1                   ; Output.
    endin
  </CsInstruments>
 
  <CsScore>
    f1 0 8192 10 1           ; Table containing a sine wave. Built-in generator 10 produces a sum of sinusoids, here only one.
    i1 0 1 20000 1000        ; Play one second of one kHz at amplitude 20000.
    e
  </CsScore>
 
</CsoundSynthesizer>

Podobně jako v jiných programovacích jazycích může psaní dlouhých programů v Csound usnadnit použití vývojového prostředí pro editaci, náhled, testování a debugování. Oficiálně podporovaným je multiplatformní editor s názvem QuteCsound, který má mnoho funkcí jako například automatické vkládání kódu, integrované prohlížení dokumentace, ovládací prvky pro grafickou úpravu parametrů v reálném čase a tlačítka pro spuštění kódu.

Csound 5[editovat | editovat zdroj]

Verze 5.01 byla vydána 18. března roku 2006, tzn. 20 let prvním vydání Csoundu. Aktuální verze 5.12 byla vydána v roce 2010. Software je k dispozici ke stažení jako binární nebo zdrojový kód pro platformy Microsoft Windows, Linux a Mac OS X z SourceForge Csound projektu.[1] V porovnání s původní verzí softwaru se jedná o velice propracovanou a rozšířenou verzi se softwarovou knihovnu a rozhraním API. Kromě základního C API existují i rozhraní pro jazyky Python, Java, Lisp, Tcl, C++, Haskell, atd.

Po mnohaletém vývoji má Csound aktuálně přes 1200 modulů (unit generátorů). Jedna z nejsilnějších vlastností systému je jeho kompletní modularita a možnost uživatelské rozšířitelnosti. Je tedy možné psát vlastní uživatelské kódy jako rozšíření originálního jazyka bez nutnosti změny jeho zdrojového kódu. Další rozšíření dovoluje využití pluginů LADSPA, DSSI, a VST.

One laptop per child (OLPC)[editovat | editovat zdroj]

Csound5 byl zvolen jako zvukový a hudební vývojový systém pro OLPC projekt na platformě XO-1 Laptop.

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]

Níže uvedené odkazy jsou v anglickém jazyce.