pvsfreeze — Gèle les fonctions temporelles d'amplitude et de fréquence d'un flot pv selon un déclencheur au taux de contrôle.
cet opcode "gèle" l'évolution d'un flot pvs en figeant les valeurs d'amplitude et/ou de fréquence de chaque bin. Le gel des valeurs est contrôlé indépendamment pour les amplitudes et pour les fréquences par un déclencheur au taux de contrôle qui active le gel s'il est supérieur ou égal à 1 et le désactive s'il est inférieur à 1.
fsig -- flot pv de sortie.
fsigin -- flot pv d'entrée.
kfreeza -- contrôle du gel des amplitudes. Le gel est actif pour les valeurs supérieures ou égales à 1 et inactif pour les valeurs inférieures à 1.
kfcf -- contrôle du gel des fréquences. Le gel est actif pour les valeurs supérieures ou égales à 1 et inactif pour les valeurs inférieures à 1.
Avertissement | |
---|---|
Il est dangereux d'utiliser la même variable-f à la fois comme entrée et comme sortie des opcodes pvs. Ceci peut produire un comportement indéfini de certains de ces opcodes. Utilisez une variable différente à gauche et à droite de l'opcode. |
Exemple 831. Exemples
asig in ; input ktrig oscil 1.5, 0.25, 1 ; trigger fim pvsanal asig1, 1024, 256, 1024, 0 ; pvoc analysis fou pvsfreeze fim, abs(ktrig), abs(ktrig) ; regular 'freeze' of spectra aout pvsynth fou ; pvoc synthesis
Dans l'exemple ci-dessus, le signal d'entrée sera régulièrement "gelé" un court instant lorsque le déclencheur dépasse 1, environ toutes les deux secondes.
Voici in exemple de l'opcoce pvsfreeze. Il utilise le fichier pvsfreeze.csd.
Exemple 832. Exemple de l'opcoce pvsfreeze.
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 -odac ;;;realtime audio out ; For Non-realtime ouput leave only the line below: ; -o pvsfreeze.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 0dbfs = 1 nchnls = 2 ;; example written by joachim heintz 2009 seed 0 instr 1 ifftsize = 1024 ioverlap = ifftsize / 4 iwinsize = ifftsize iwinshape = 1 ; von-Hann window Sfile1 = "fox.wav" ain soundin Sfile1 kfreq randomh .7, 1.1, 3; probability of freezing freqs: 1/4 kamp randomh .7, 1.1, 3; idem for amplitudes fftin pvsanal ain, ifftsize, ioverlap, iwinsize, iwinshape; fft-analysis of file freeze pvsfreeze fftin, kamp, kfreq; freeze amps or freqs independently aout pvsynth freeze; resynthesize outs aout, aout endin </CsInstruments> <CsScore> r 10 i 1 0 2.757 e </CsScore> </CsoundSynthesizer>