Salut à tous.
Je dois créer un programme simulink qui réalise la convolution entre 2 signaux sonores en temps réel. L'un est un fichier de musique et l'autre une impulse de 2048 échantillons jouée en boucle. Les 2 sources sont échantillonnées à 44100hz et la taille de bloc est 2048.
Je place mes 2 sources sonores à l'aide de 2 "analog input" pour mes 2 signaux d'entrée et ma sortie "analog output" (J'ai une carte multi-entrées multi-sorties routable comme je veux) . Jusque là pas de problème.
Le problème c'est que lorsque je place mon module de convolution j'ai du son par intermitence. En gros mon premier échantillon de musique de taille 2048 est convolué avec mon impulse de 2048, mais le résultat de cette opération me donne un signal résultant de 4096 points, ce qui est normal avec l'opération de convolution.
Le problème c'est que cette partie empêche le programme de convoluer le sample suivant, ainsi je ne reçois qu'un sample sur 2 à la sortie de ma carte son.
Il faudrait réaliser une convolution avec Overlap Method de façon à superposer la fin de la première convolution avec la première partie de la seconde convolution.
Pouvez-vous m'aider à trouver comment réaliser ceci ?
Merci
Florian
Partager