hsboscil

hsboscil — Un oscillateur qui prend en arguments l'intonation et la brillance.

Description

Un oscillateur qui prend en arguments l'intonation et la brillance, relativement à une fréquence de base.

Syntaxe

ares hsboscil kamp, ktone, kbrite, ibasfreq, iwfn, ioctfn \
               [, ioctcnt] [, iphs]

Initialisation

ibasfreq -- fréquence de base par rapport à laquelle l'intonation et la brillance sont relatives.

iwfn -- table de fonction de la forme d'onde, habituellement une sinus.

ioctfn -- table de fonction utilisée pour pondérer les octaves, habituellement quelque chose comme

f1 0  1024  -19  1  0.5  270  0.5

ioctcnt (facultatif) -- nombre d'octaves utilisées pour le mélange de brillance. Doit valoir entre 2 et 10. Par défaut = 3.

iphs (facultatif, par défaut = 0) -- phase initiale de l'oscillateur. Si iphs = -1, l'initialisation est ignorée.

Exécution

kamp -- amplitude de la note

ktone -- paramètre cyclique d'intonation cyclique relatif à ibasfreq en octave logarithmique, entre 0 et 1, des valeurs > 1 peuvent être utilisées, et sont réduites en interne à frac(ktone).

kbrite -- paramètre de brillance relatif à ibasfreq, obtenue en pondérant ioctcnt octaves. Il est échelonné de telle manière qu'une valeur de 0 correspond à la valeur originale de ibasfreq, 1 correspond à une octave au-dessus de ibasfreq, -2 correspond à deux octaves sous ibasfreq, etc. kbrite peut être fractionnaire.

hsboscil prend en arguments l'intonation et la brillance, relativement à une fréquence de base (ibasfreq). L'intonation est un paramètre cyclique dans l'octave logarithmique, la brillance est réalisée en mélangeant plusieurs octaves pondérées. Il est utile lorsque l'espace d'intonation est appréhendé dans un concept de coordonnées polaires.

Si ktone est une droite et kbrite une constante, le résultat produit est le glissando de Risset.

La table de l'oscillateur iwfn est toujours lue avec interpolation. Le temps d'exécution est approximativement ioctcnt * oscili.

Exemples

Voici un exemple de l'opcode hsboscil. Il utilise le fichier hsboscil.csd.

Exemple 407. Exemple de l'opcode hsboscil.

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 realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o hsboscil.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

; synth waveform
giwave  ftgen 1, 0, 1024, 10, 1, 1, 1, 1
; blending window
giblend ftgen 2, 0, 1024, -19, 1, 0.5, 270, 0.5

instr 1 ; produces Risset's glissando.

  kamp = .4
  kbrite = 0.3
  ibasfreq = 200
  ioctcnt = 5

  ; Change ktone linearly from 0 to 1, 
  ; over the period defined by p3.
  ktone line 0, p3, 1

asig hsboscil kamp, ktone, kbrite, ibasfreq, giwave, giblend, ioctcnt
     outs asig, asig

endin
</CsInstruments>
<CsScore>

i 1 0 10
e
</CsScore>
</CsoundSynthesizer>


Voici un exemple de l'opcode hsboscil dans un instrument MIDI. Il utilise le fichier hsboscil_midi.csd.

Exemple 408. Exemple de l'opcode hsboscil dans un instrument MIDI.

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  
-odac   -M0 ;;;realtime audio out and realtime MIDI in
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; -o hsboscil_midi.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

; synth waveform
giwave  ftgen 1, 0, 1024, 10, 1, 1, 1, 1
; blending window
giblend ftgen 2, 0, 1024, -19, 1, 0.5, 270, 0.5

instr 1

ibase = cpsoct(6)
ioctcnt = 5

; all octaves sound alike.
  itona octmidi
  ; velocity is mapped to brightness
  ibrite ampmidi 4

; Map an exponential envelope for the amplitude.
kenv expon .8, 1, .01
asig hsboscil kenv, itona, ibrite, ibase, giwave, giblend, ioctcnt
     outs asig, asig

endin
</CsInstruments>
<CsScore>

i 1 0 30 ; play for 30 seconds
e
</CsScore>
</CsoundSynthesizer>


Crédits

Auteur : Peter Neubäcker
Munich, Allemagne
Août 1999

Nouveau dans la version 3.58 de Csound