binit

binit — Conversion de bandes PVS en amplitude+fréquence.

Description

L'opcode binit reçoit une entrée contenant un flot de signal TRACKS de vocodeur de phase (généré par exemple par partials et le convertit en trames de bins à largeur de bande régulière contenant des paires amplitude/fréquence (PVS_AMP_FREQ), adaptées à la resynthèse par recouvrement-addition (telle que celle réalisée par pvsynth) ou bien à des transformations de flot de signal de vocodeur de phase PVS. Pour chaque bin de fréquence, il cherche une bande de signal adaptée pour la remplir ; s'il n'en trouve pas, le bin sera vide (amplitude 0). Si plus d'une bande correspond à un bin, celle qui a la plus grande amplitude sera choisie. Cela signifie que l'intégralité du signal n'est pas traitée, c'est une opération avec pertes. Cependant, dans bien des situations, la perte n'est pas perceptible.

Syntaxe

fsig binit fin, isize

Exécution

fsig -- flot pv en sortie au format PVS_AMP_FREQ.

fin -- flot pv en entrée au format TRACKS.

isize -- taille de la TFR de la sortie (N).

Exemples

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

Exemple 83. Exemple de l'opcode binit.

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

sr = 44100
ksmps = 32
nchnls = 2

instr 1
;ain inch 1				; for live input
ain	diskin	 "beats.wav", 1		; input signal
fs1,fsi2 pvsifd	 ain, 2048, 512, 1		; ifd analysis
fst	partials fs1, fsi2, .003, 1, 3, 500	; partial tracking
fbins	binit	 fst, 2048		; convert it back to bins
aout	pvsynth	 fbins			; overlap-add resynthesis
	outs	 aout, aout

endin

</CsInstruments>
<CsScore>

i 1 0 2
e


</CsScore>
</CsoundSynthesizer>


L'exemple ci-dessus montre la recherche de partiels d'un signal d'analyse de distribution de fréquence instantanée, leur conversion en trames de bins et la resynthèse par recouvrement-addition.

Crédits

Auteur : Victor Lazzarini
Février 2006

Nouveau dans Csound5.01