tbvcf

tbvcf — Modélise quelques caractéristiques du filtre contrôlé en tension du TB303 de Roland.

Description

Cet opcode est un essai de modélisation de quelques caractéristiques du filtre contrôlé en tension du TB303 de Roland. On utilise la méthode d'Euler pour obtenir une approximation du système, plutôt que les méthodes traditionnelles des filtres. La fréquence de coupure, Q, et la distorsion sont tous interdépendants. Des méthodes empiriques ont été utilisées pour essayer de les séparer, ce qui a pour effet de rendre la fréquence approximative. La résolution future de certains problèmes de cet opcode pourrait rendre inopérants les orchestres existants qui utilisent cette version de tbvcf.

Syntaxe

ares tbvcf asig, xfco, xres, kdist, kasym [, iskip]

Initialisation

iskip (facultatif, 0 par défaut) -- s'il est non nul, l'initialisation du filtre est ignorée. (Nouveau dans les versions 4.23f13 et 5.0 de Csound).

Exécution

asig -- signal d'entrée. Doit être normalisé à ±1.

xfco -- fréquence de coupure du filtre. L'intervalle optimal va de 10000 à 1500. Les valeurs inférieures à 1000 peuvent poser problème.

xres -- résonance ou Q. Typiquement compris entre 0 et 2.

kdist -- quantité de distortion. Une valeur typique est 2. Si kdist s'écarte de 2 de manière significative, il peut y avoir des intéractions bizarres entre xfco et xres.

kasym -- asymétrie de la résonance. Typiquement comprise entre 0 et 1.

Exemples

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

Exemple 997. Exemple de l'opcode tbvcf.

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 tbvcf.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

;---------------------------------------------------------
; TBVCF Test
; Coded by Hans Mikelson December, 2000
;---------------------------------------------------------
  sr =  44100   ; Sample rate
  ksmps =  10   ; Samples/Kontrol period
  nchnls =  2        ; Normal stereo
  0dbfs = 1


          instr 10

  idur	=	p3			; Duration
  iamp	=	p4			; Amplitude
  ifqc	=	cpspch(p5)		; Pitch to frequency
  ipanl	=	sqrt(p6)		; Pan left
  ipanr	=	sqrt(1-p6)		; Pan right
  iq	=	p7
  idist	=	p8
  iasym =	p9

kdclck		linseg	0, .002, 1, idur-.004, 1, .002, 0	; Declick envelope
kfco		expseg	10000, idur, 1000			; Frequency envelope
ax		vco		1, ifqc, 2, 0.5			; Square wave
ay		tbvcf		ax, kfco, iq, idist, iasym		; TB-VCF
ay		buthp	ay/1, 100				; Hi-pass

		outs		ay*iamp*ipanl*kdclck, ay*iamp*ipanr*kdclck
          endin


</CsInstruments>
<CsScore>

f1 0 65536 10 1

; TeeBee Test
;   Sta  Dur  Amp    Pitch Pan  Q    Dist1 Asym
i10 0    0.2  0.5    7.00  .5   0.0  2.0   0.0
i10 0.3  0.2  0.5    7.00  .5   0.8  2.0   0.0
i10 0.6  0.2  0.5    7.00  .5   1.6  2.0   0.0
i10 0.9  0.2  0.5    7.00  .5   2.4  2.0   0.0
i10 1.2  0.2  0.5    7.00  .5   3.2  2.0   0.0
;i10 1.5  0.2  0.5    7.00  .5   4.0  2.0   0.0
i10 1.8  0.2  0.5    7.00  .5   0.0  2.0   0.25
i10 2.1  0.2  0.5    7.00  .5   0.8  2.0   0.25
i10 2.4  0.2  0.5    7.00  .5   1.6  2.0   0.25
i10 2.7  0.2  0.5    7.00  .5   2.4  2.0   0.25
i10 3.0  0.2  0.5    7.00  .5   3.2  2.0   0.25
i10 3.3  0.2  0.5    7.00  .5   4.0  2.0   0.25
i10 3.6  0.2  0.5    7.00  .5   0.0  2.0   0.5
i10 3.9  0.2  0.5    7.00  .5   0.8  2.0   0.5
i10 4.2  0.2  0.5    7.00  .5   1.6  2.0   0.5
i10 4.5  0.2  0.5    7.00  .5   2.4  2.0   0.5
i10 4.8  0.2  0.5    7.00  .5   3.2  2.0   0.5
i10 5.1  0.2  0.5    7.00  .5   4.0  2.0   0.5
i10 5.4  0.2  0.5    7.00  .5   0.0  2.0   0.75
i10 5.7  0.2  0.5    7.00  .5   0.8  2.0   0.75
i10 6.0  0.2  0.5    7.00  .5   1.6  2.0   0.75
i10 6.3  0.2  0.5    7.00  .5   2.4  2.0   0.75
i10 6.6  0.2  0.5    7.00  .5   3.2  2.0   0.75
i10 6.9  0.2  0.5    7.00  .5   4.0  2.0   0.75
i10 7.2  0.2  0.5    7.00  .5   0.0  2.0   1.0
i10 7.5  0.2  0.5    7.00  .5   0.8  2.0   1.0
i10 7.8  0.2  0.5    7.00  .5   1.6  2.0   1.0
i10 8.1  0.2  0.5    7.00  .5   2.4  2.0   1.0
i10 8.4  0.2  0.5    7.00  .5   3.2  2.0   1.0
i10 8.7  0.2  0.5    7.00  .5   4.0  2.0   1.0
e


</CsScore>
</CsoundSynthesizer>


Crédits

Auteur : Hans Mikelson
Décembre, 2000 -- Janvier, 2001

Nouveau dans Csound 4.10