sr — Fixe la taux d'échantillonnage audio.
Ces instructions sont des affectations de valeurs globales réalisées au début d'un orchestre, avant que tout bloc d'instrument ne soit défini. Leur fonction est de fixer certaines variables dont le nom est un mot réservé et qui sont nécessaires à l'exécution. Une fois fixés, ces mots réservés peuvent être utilisés dans des expressions n'importe où dans l'orchestre.
sr = (facultatif) -- fixe le taux d'échantillonnage à iarg échantillons par seconde par canal. La valeur par défaut est 44100.
De plus, toute variable globale peut être initialisée par une instruction de la période d'initialisation n'importe où avant la première instruction instr. Toutes les affectations ci-dessus sont exécutées dans l'instrument 0 (passe-i seulement) au début de l'exécution réelle.
Depuis la version 3.46 de Csound, on peut omettre sr. Le taux d'échantillonnage sera calculé à partir de kr et de ksmps, mais le résultat doit être une valeur entière. Si aucune de ces valeurs globales n'est définie, le taux d'échantillonnage par défaut sera 44100. Habituellement, vous utiliserez une valeur supportée par votre carte son, comme 44100 ou 48000, sinon, le résultat audio généré par csound risque d'être injouable, ou bien vous aurez une erreur si vous essayez une exécution en . Vous pouvez naturellement utiliser un taux d'échantillonnage comme 96000, pour un rendu différé, même si votre carte son ne le supporte pas. Csound générera un fichier valide jouable sur des systèmes offrant cette possibilité.
sr = 10000 kr = 500 ksmps = 20 gi1 = sr/2. ga init 0 itranspose = octpch(.0l)
Voici un autre exemple de l'opcode sr. Il utilise le fichier sr.csd.
Exemple 1002. Exemple de l'opcode sr.
Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ; -iadc ;;;uncomment -iadc if real audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o sr.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ;use sr to find maximum harmonics ihar = int(sr/2/p4) ; maximum possible number of harmonics w/o aliasing prints "maximum number of harmonics = %d \\n", ihar kenv linen .5, 1, p3, .2 ; envelope asig buzz kenv, p4, ihar, 1 outs asig, asig endin </CsInstruments> <CsScore> f1 0 4096 10 1 ;sine wave i 1 0 3 100 ;different frequencies i 1 + 3 1000 i 1 + 3 10000 e </CsScore> </CsoundSynthesizer>
Sa sortie contiendra des lignes comme celles-ci :
maximum number of harmonics = 240 maximum number of harmonics = 24 maximum number of harmonics = 2