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 235. 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
; Audio out   Audio in    No messages
-odac           -iadc     -d     ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o hsboscil.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 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

; Instrument #1 - produces Risset's glissando.
instr 1
  kamp = 10000
  kbrite = 0.5
  ibasfreq = 200
  ioctcnt = 5

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

  a1 hsboscil kamp, ktone, kbrite, ibasfreq, giwave, giblend, ioctcnt
  out a1
endin


</CsInstruments>
<CsScore>

; Play Instrument #1 for ten seconds.
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 236. 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   Audio in    No messages  MIDI in
-odac           -iadc     -d          -M0    ;;;RT audio I/O with MIDI in
; For Non-realtime ouput leave only the line below:
; -o hsboscil_midi.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 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

; Instrument #1 - use hsboscil in a MIDI instrument.
instr 1
  ibase = cpsoct(6)
  ioctcnt = 5

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

  ; Map an exponential envelope for the amplitude.
  kenv expon 20000, 1, 100

  asig hsboscil kenv, itona, ibrite, ibase, giwave, giblend, ioctcnt
  out asig
endin


</CsInstruments>
<CsScore>

; Play Instrument #1 for ten minutes
i 1 0 600
e


</CsScore>
</CsoundSynthesizer>


Crédits

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

Nouveau dans la version 3.58 de Csound