Se connecter
Se connecter

ou
Créer un compte

ou
Sujet de la discussion Casse-tête : bruit blanc enregistré, resynchronisé et ajusté en gain avec son original
Bonjour à tous,

Je vous propose le petit jeu suivant, dont j'aimerais trouver la solution. J'utilise sox(http://sox.sourceforge.net) sous Linux.

Le but du jeu est le suivant :
  • Générer un bruit blanc mono compris entre 50 Hz et 2 kHz, durée 10' :
  • [/i]
  • Jouer ce bruit blanc et l'enregistrer ; j'ai décalé le play de 1" volontairement pour ne pas rater le début (100 ms auraient du suffire) :
  • [/i]
  • Traiter l'enregistrement pour le synchroniser avec l'original et l'ajuster en gain (ici j'ai mis un gain de 1 arbitrairement) pour qu'après différence, le signal ne valle que le bruit résiduel de la chaîne play + ambiance de votre bureau + record :
  • [/i]


Amorce de solution :
  • Pour me resyncroniser, je préfixe le bruit blanc avec un LA de 1" :
  • [/i]
  • L'algorithme de synchronisation comprend une phase grossière par recharche de saut de puissance (c'est là que je justifie la seconde de décalage entre le play et le record), et une phase fine par correlation sur le LA. Quand j'édite les deux fichiers sous Audacity, ça a l'air pile-poil ! On peut aussi réaliser cette synchro à la main sous Audacity.
  • Une fois synchronisé, je calcule le gain à appliquer en calculant la puissance du signal d'origine et celle de celui enregistré sur une période de 1" après le LA. Que du gros bon sens n'est-ce pas ? On peut par exemple utiliser les fonctions trim et stat de sox pour réaliser cela.


Et bien pour moi, ça ne marche pas. :???:

Première remarque : si la chaîne play/record présente des distorsions temporelles de l'ordre de la période d'échantillonnage, c'est normal que ça ne marche pas car on soustrait des échantillons de bruits blancs non synchrones et on obtient un magnifique nombre aléatoire en résultat. La fréquence d'échantillonnage étant de 44100 Hz, ou 23 us, il faut des distortions temporelles inférieures à mettons 5 us pour être tranquile. Mon expérience se faisant sur un PC, j'imagine, mais peut-être me trompe-je, que ce n'ai pas un problème.

Deuxième remarque : je parle bien ici de distorsions temporelles et non pas de latence. La latence n'est gênante que si elle est distordue.

Quelqu'un a-t-il une idée pour faire que ça marche ?

2
Bonjour,
Citation :
il faut des distortions temporelles inférieures à mettons 5 us pour être tranquile.
Je n'ai pas compris grand-chose, ni sur la manip ni sur le résultat attendu, mais AMHA on ne sera jamais tranquille si les signaux ne sont pas synchrones, même à une faible fraction de la période d'échantillonnage, car la différence sera toujours la dérivée du signal à un coefficient près.

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (G. Courteline)

3
Bonjour Danguit,

Pour éclairer les choses, c'est pour faire des recherhes personnelles sur la propagation du son. Comme je veux mesurer des phénomènes non linéaires, je ne peux pas me contenter de travailler avec des sinusoïdes. Et pour voir comment le son a été modulé, je dois dans ma méthode de mesure le soustraire à l'original après l'avoir recalé en temps et amplitude.

Pour ce qui est des distorsion temporelles, voici une suite d'échantillons sonores non distordus :

111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999

et la même avec de la distorsion temporelle (très exagérée pour illustrer) :

111111112222222333333444445555555666666666777777777777888888888888888999999999999999999999

Cela peut être du par exemple à un battement mécanique dans la rotation d'une platine disque.
4
Je ne suis pas un spécialites, mais il me semble que pour ce genre de problème il existe des méthodes en rapport avec la cyclostationnarité. On peut aussi essayer de faire de la détection d'enveloppe ou démoduler.
Je ne vois pas ce qui interdit d'utiliser des sinusoïdes pour analyser des non-linéarités. J'aurais même tendance à penser que cela facilite les choses (et c'est ce que je cherche à faire habituellement).

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (G. Courteline)

[ Dernière édition du message le 19/10/2012 à 08:18:00 ]

5
Malheureusement, le phénomène que je cherche à analyser n'est pas cyclostationnaire.

Pour ce qui est de l'utilisation des sinusoïdes en analyse de systèmes non linéaires, tu ne peux tout simplement pas décomposer ton signal d'entrée en série de fourrier et le recomposer à la sortie. Le résultat serait faux.

Je cherche juste à comprendre pourquoi ma méthode ne marche pas. Est-ce du à une distorsion temporelle au niveau de la carte son ? Est-ce qu'avec une carte haut de gamme ça pourrait marcher ? Ou bien est-ce que je commets une erreur quelque part ?
6
Citation :
Pour ce qui est de l'utilisation des sinusoïdes en analyse de systèmes non linéaires, tu ne peux tout simplement pas décomposer ton signal d'entrée en série de fourrier et le recomposer à la sortie. Le résultat serait faux.
Tout dépend de ce que l'on cherche, et je connais pas mal de cas où la sinusoïde (une ou plusieurs) est appropriée (intermod par exemple). En ce qui concerne l'analyse de modulation parasite, j'ai déjà utilisé une méthode "perso" (avec un bête sinus) qui m'a permis de visualiser des variations de fréquence assez lentes.
Citation :
Et pour voir comment le son a été modulé, je dois dans ma méthode de mesure le soustraire à l'original après l'avoir recalé en temps et amplitude.
??
Je ne connais pas (sauf erreur) de démodulation par une simple soustraction. Il me semble que démodulation implique plutôt multiplication.

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (G. Courteline)

[ Dernière édition du message le 19/10/2012 à 09:26:45 ]

7

Il me semble que ce serai plus pertinent avec un bruit rose,
du moins en ce qui concerne la distorsion.

 

Laptop i7, Sonar X2 Producer, UA101 (2), Quadmic, Solo6 Be, set micros

 

8
Citation de nuin373 :
Il me semble que ce serai plus pertinent avec un bruit rose,
du moins en ce qui concerne la distorsion.
 

Je passe mon bruit blanc dans un passe-bande avant de l'utiliser, ce qui est je crois équivalent dans le principe au bruit rose, avec l'avantage que je sélectionne ma plage de travail.
9
Citation de Danguit :
Je ne connais pas (sauf erreur) de démodulation par une simple soustraction. Il me semble que démodulation implique plutôt multiplication.

Je ne démodule pas en soustrayant, je cherche à extraire une modulation effectuée sur un bruit blanc en soustrayant le bruit blanc d'origine.

J'ai modifié ma méthode pour étalonner toute ma chaîne de production. J'obtiens quelque chose d'à peu près satisfaisant.
10
Citation :
Je ne démodule pas en soustrayant, je cherche à extraire une modulation effectuée sur un bruit blanc en soustrayant le bruit blanc d'origine.
Il y aurait une différence entre démoduler et extraire une modulation ?

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (G. Courteline)