scantable — Une implémentation simplifiée de la synthèse par balayage.
Une implémentation simplifiée de la synthèse par balayage. C'est l'implémentation d'une corcde circulaire parcourue au moyen de tables externes. Cet opcode permet la modification directe et la lecture des valeurs avec les opcodes de table.
ipos -- table contenant le tableau de position.
imass -- table contenant la masse de la corde.
istiff -- table contenant la raideur de la corde.
idamp -- table contenant les facteurs d'atténuation de la corde.
ivel -- table contenant les vitesses.
Voici un exemple de l'opcode scantable. Il utilise le fichier scantable.csd.
Exemple 541. Exemple de l'opcode scantable.
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 ; Audio out Audio in No messages -odac -iadc -d ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o scantable.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Table #1 - initial position git1 ftgen 1, 0, 128, 7, 0, 64, 1, 64, 0 ; Table #2 - masses git2 ftgen 2, 0, 128, -7, 1, 128, 1 ; Table #3 - stiffness git3 ftgen 3, 0, 128, -7, 0, 64, 100, 64, 0 ; Table #4 - damping git4 ftgen 4, 0, 128, -7, 1, 128, 1 ; Table #5 - initial velocity git5 ftgen 5, 0, 128, -7, 0, 128, 0 ; Instrument #1. instr 1 kamp init 20000 kpch init 220 ipos = 1 imass = 2 istiff = 3 idamp = 4 ivel = 5 a1 scantable kamp, kpch, ipos, imass, istiff, idamp, ivel a2 dcblock a1 out a2 endin </CsInstruments> <CsScore> ; Play Instrument #1 for ten seconds. i 1 0 10 e </CsScore> </CsoundSynthesizer>