sr

sr — Fixe la taux d'échantillonnage audio.

Description

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.

Syntaxe

sr = iarg

Initialisation

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é.

Exemples

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

Voir aussi

kr, ksmps, nchnls, nchnls_i.