pvsdemix

pvsdemix — Séparation spectrale de sources stéréo basée sur l'azimut.

Description

Séparation spectrale de sources stéréo basée sur l'azimut, avec pour résultat l'annulation d'une spatialisation. Cet opcode implémente l'algorithme de Discrimination Azimutale et Resynthèse (ADRess) développé par Dan Barry (Barry et Al. "Sound Source Separation Azimuth Discrimination and Resynthesis". DAFx'04, Univ. de Naples). La séparation de sources, ou démixage, est contrôlée par deux paramètres : une position d'azimut (kpos) et une largeur de sous-espace (kwidth). Le premier est utilisé pour localiser les crêtes spectrales des sources individuelles dans un mélange stéréo, tandis que le second élargit l'espace de recherche en incluant/excluant les crêtes autour de kpos. Ces deux paramètres peuvent être utilisés interactivement pour extraire les sources sonores d'un mélange stéréo. L'algorithme est particulièrement efficace avec les enregistrements de studio dans lesquels des instruments différents occupent des positions spatiales différentes ; c'est en fait un algorithme de d'annulation de spatialisation.

[Avertissement] 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.

Syntaxe

fsig pvsdemix fleft, fright, kpos, kwidth, ipoints

Exécution

fsig -- flot pv de sortie

fleft -- flot pv d'entrée du canal de gauche.

fright -- flot pv d'entrée du canal de droite.

kpos -- la position centrale de la cible d'azimut qui sera démixée, de gauche à droite (-1 <= kpos <= 1). C'est l'inverse d'un contrôleur de pan-pot.

kwidth -- la largeur du sous-espace d'azimut qui détermine le nombre de points autour de kpos qui seront utilisés dans le traitement de démixage. (1 <= kwidth <= ipoints)

ipoints -- nombre total de points discrets qui vont diviser chaque côté de l'image stéréo. Ceci affecte au final la résolution du traitement.

Exemples

L'exemple ci-dessous prend une entrée stéréo et la passe dans un traitement de démixage qui révèle une source située à ipos +/- iwidth points. On peut contrôler ces paramètres en temps réel (par exemple en utilisant des widgets FLTK ou le MIDI) pour une recherche interactive de sources sonores.

Exemple 751. Exemples

ifftsize = 1024  
iwtype   = 1     /* cleaner with hanning window      */
ipos     = -0.8  /* to the left of the stereo image  */
iwidth   = 20    /* use peaks of 20 points around it */

al,ar  soundin   "sinput.wav"

flc    pvsanal   al, ifftsize, ifftsize/4, ifftsize, iwtype
frc    pvsanal   ar, ifftsize, ifftsize/4, ifftsize, iwtype
fdm    pvsdemix  flc, frc, kpos, kwidth, 100
adm    pvsynth   fdm
   
       outs      adm, adm


Crédits

Auteur : Victor Lazzarini
Janvier 2005

Nouveau greffon dans la version 5

Janvier 2005.