pvsvoc — Combine l'enveloppe spectrale d'un fsig avec l'excitation (les fréquences) d'un autre fsig.
Cet opcode fournit un support pour la synthèse croisée des amplitudes et des fréquences. Il prend les amplitudes d'un fsig en entrée et les combine avec les fréquences d'un autre fsig. C'est une version spectrale du célèbre vocodeur.
fsig -- flot pv de sortie
famp -- flot pv d'entrée duquel sont extraites les amplitudes
fexc -- flot pv d'entrée duquel sont prises les fréquences
kdepth -- importance de l'effet, affectant la quantité de fréquences prélevées sur le second fsig : 0, la sortie est le signal famp, 1 la sortie combine les amplitudes de famp avec les fréquences de fexc.
kgain -- gain de renforcement/atténuation appliqué à la sortie.
kcoefs -- nombre de coefficients du cepstre utilisés dans l'estimation de l'enveloppe spectrale (vaut 80 par défaut).
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. |
Voici un exemple de l'opcode pvsvoc. Il utilise le fichier pvsvoc.csd.
Exemple 855. Exemple de l'opcode pvsvoc.
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 pvsvoc.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; additions by Richard Boulanger sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 gisaw ftgen 1, 0, 2048, 10, 1, 0.5, 0.3, 0.25, 0.2 ;sawtooth-like instr 1 asig diskin "fox.wav",1, 0, 1 ;asig inch 1 ;uncomment for live input signal kfrq line 350,p3,50 asyn poscil .3, kfrq, gisaw ;excitation signal, dropping in frequency famp pvsanal asig, 1024, 256, 1024, 1 ;analyse in signal fexc pvsanal asyn, 1024, 256, 1024, 1 ;analyse excitation signal ftps pvsvoc famp, fexc, 1, 1 ;cross it atps pvsynth ftps ;synthesise it outs atps, atps endin </CsInstruments> <CsScore> i 1 0 20 e </CsScore> </CsoundSynthesizer>
L'exemple ci-dessus montre une opération typique de synthèse croisée. Le signal d'entrée (disons un signal vocal) est utilisé pour son spectre d'amplitude. Un oscillateur avec une forme d'onde complexe arbitraire produit le signal d'excitation, donnant au son vocal sa hauteur.