Csound

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Csound
limbaj de programare
Data de origine 1986
Ultima versiune 6.16.0 (12 iunie 2021)
Implementare referință
Licență Licență publică generală mai mică GNU
Site-ul web csound.com/
CS Ecran sunet

CSound este un limbaj de programare dezvoltat folosind limbajul C. Permite, folosind o mare varietate de coduri opționale ( funcții ), să creeze întotdeauna noi sunete începând de jos, de la „fundația” sunetului : oscilațiile [1] . Următoarele tipuri de sinteză audio pot fi utilizate în CSound:

și multe alte tipuri de sinteză derivate direct sau indirect din cele menționate anterior.

Istorie

Formatul .csd

Un program sursă CSound vine sub forma unui singur fișier .csd împărțit în secțiuni prin unele etichete ; cele mai importante două secțiuni sunt Instrumentele și Scorul ; acești doi termeni, când formatul .csd unificat nu exista încă, au dat numele celor două fișiere sursă separate, unul cu extensia .orc (orchestră = instrumente) și .sco ( Scor = scor). Chiar și astăzi funcțiile fișierului orchestral ( Instrumente ) și ale fișierului de scor ( Score ) au rămas neschimbate: pur și simplu, din două fișiere separate am trecut la două secțiuni ale unui singur fișier. Formatul unificat s-a născut de fapt doar pentru comoditatea de a lucra la un singur document.

O sursă .csd comentată

tot ce vine după ";" este un comentariu și, prin urmare, este ignorat de compilator

 <CsoundSynthesizer>; aceasta este eticheta care identifică un fișier sursă CSound
<CsOptions> 
; orice steaguri ale compilatorului trebuie plasate aici (de exemplu, „-W -o fabio.wav” compilează un fișier val fabio.wav)
</CsOptions> 
<CsInstruments>; aici începe secțiunea pentru crearea de instrumente
; acest bloc se numește header
; 
sr = 44100; aceasta este frecvența de eșantionare audio în Hz
kr = 4410; aceasta este frecvența de eșantionare a parametrilor de control în Hz
ksmps = 10; acesta este sr / kr, în acest caz 10
nchnls = 1; acesta este numărul de canale, în acest caz 1, mono
; ------------------------------------------------- -------------------------------------------------- -------------------- 
instr 1; aici declarăm începutul instrumentului 1
;
; var audio opcode oscilator amp freq func 
; 
a1 oscilează 10000, 1000, 1 
; 
; toate variabilele audio trebuie să înceapă cu „a” (a1, a2, afabio, apippo ...)
; la variabila "a1" am conectat un oscilator de amplitudine 10000, frecvență 1000, funcția 1
; 
; amplitudinea trebuie stabilită în valori absolute (în cazul unui fișier pe 16 biți, amplitudinea maximă în valori 
; absolut este egal cu          , asta pentru că prin valori absolute înțelegem valoarea maximă
; numeric în amplitudinea unui singur eșantion, fie în regiunea pozitivă, fie în cea negativă
;
; frecvența este exprimată în Hz
;
; numărul funcției determină în ce „tabel” compilatorul ar trebui să deseneze funcția
;
afară a1; conectăm ieșirea oscilatorului la ieșirea compilatorului
;
endin; îi spunem compilatorului că instrumentul nostru este terminat
;
</CsInstruments>; aici închidem secțiunea de instrumente
;
<CsScore>; aici începem secțiunea de scor
;
; reamintește funcția 1 instant de pornire n. de puncte pentru a desena f amplificatorul GEN al armonicelor
;
f1 0 4096 10 1 .7 .5
;
; mai întâi îi spunem compilatorului să meargă și să citească funcția f1, care a fost oscilatorul nostru,
;
; apoi declarăm momentul în secunde de la care funcția noastră trebuie să înceapă, în acest caz 0
;
; alegem numărul de puncte, pe care, în tabelul imaginar, compilatorul va trebui să le folosească pentru a desena funcția
; NB Numărul de puncte trebuie să fie întotdeauna o putere de 2 sau, în anumite cazuri        
;
; acum decidem ce fel de metodă de generare a funcției trebuie utilizată, în acest caz am ales GEN 10 care
; desenează sinusoide
;
; în cele din urmă alegem amplitudinea armonicilor fundamentale și succesive
; NB Amplitudinea trebuie întotdeauna să fie legată de amplitudinea oscilatorului, de exemplu în cazul nostru, de când
; oscilatorul are un amplificator. din 10000, fundamentalul va fi 10000 * 1, prima armonică 10000 * 0,7, a doua 10000 * 0,5
;
; acum trebuie doar să trasăm notele pe „personal”
i1 0 12
; aceasta înseamnă că instrumentul 1 (i1) va juca de la instant 0 timp de 12 secunde
;
</CsScore>; închide scorul
</CsoundSynthesizer>; închide sursa

Același fișier sursă fără comentarii

<CsoundSynthesizer>

 <CsOptions> 
</CsOptions> 
<CsInstruments>
; 
sr = 44100 
kr = 4410 
ksmps = 10 
nchnls = 1 
; 
instr 1 
; 
a1 oscilează 10000, 1000, 1 
;
afară a1 
;
endin 
;
</CsInstruments> 
;
<CsScore> 
; 
f1 0 4096 10 1 .7 .5
; 
i1 0 12
;
</CsScore> 
</CsoundSynthesizer>

Notă

  1. ^ (RO) Începeți , pe csound.com. Adus pe 9 martie 2020 .

Alte proiecte

linkuri externe

Controlul autorității LCCN ( EN ) sh2002010420
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT