Casse-tête : bruit blanc enregistré, resynchronisé et ajusté en gain avec son original
- 17 réponses
- 4 participants
- 1 489 vues
- 5 followers
lalebarde
12
Nouvel·le AFfilié·e
Membre depuis 16 ans
Sujet de la discussion Posté le 18/10/2012 à 18:04:24Casse-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 :
Amorce de solution :
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 ?
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 ?
- 1
- 2
Danguit
3348
Squatteur·euse d’AF
Membre depuis 18 ans
2 Posté le 18/10/2012 à 18:30:08
Bonjour,
Citation :
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.il faut des distortions temporelles inférieures à mettons 5 us pour être tranquile.
lalebarde
12
Nouvel·le AFfilié·e
Membre depuis 16 ans
3 Posté le 19/10/2012 à 07:33:29
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.
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.
Danguit
3348
Squatteur·euse d’AF
Membre depuis 18 ans
4 Posté le 19/10/2012 à 07:43:20
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).
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).
[ Dernière édition du message le 19/10/2012 à 08:18:00 ]
lalebarde
12
Nouvel·le AFfilié·e
Membre depuis 16 ans
5 Posté le 19/10/2012 à 09:12:40
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 ?
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 ?
Danguit
3348
Squatteur·euse d’AF
Membre depuis 18 ans
6 Posté le 19/10/2012 à 09:21:48
Citation :
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.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.
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.
[ Dernière édition du message le 19/10/2012 à 09:26:45 ]
nuin373
556
Posteur·euse AFfolé·e
Membre depuis 20 ans
7 Posté le 19/10/2012 à 09:52:02
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
lalebarde
12
Nouvel·le AFfilié·e
Membre depuis 16 ans
8 Posté le 19/10/2012 à 12:02:18
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.
lalebarde
12
Nouvel·le AFfilié·e
Membre depuis 16 ans
9 Posté le 19/10/2012 à 12:05:29
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.
Danguit
3348
Squatteur·euse d’AF
Membre depuis 18 ans
10 Posté le 19/10/2012 à 12:42:53
Citation :
Il y aurait une différence entre démoduler et extraire une modulation ?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.
- < Liste des sujets
- Charte
- 1
- 2