J'aimerais savoir comment supprimer le bruit ambiant d'un enregistrement vocal.
J'ai fait quelques recherches et j'ai remarqué que la plupart des méthodes proposées utilisent la transformée de Fourier rapide. Mais pourquoi ne pouvez-vous pas utiliser un filtre électronique classique pour supprimer les fréquences de bruit? Pourquoi s'embêter à faire une FFT?
Réponses:
Eh bien, il est stocké numériquement maintenant, non? prévoyez-vous de placer votre microphone à côté du haut-parleur après un filtre analogique pour le réenregistrer?
Assez déconner, je serai sérieux.
Afin d'atténuer davantage un filtre dans une gamme de fréquences plus petite, c'est-à-dire de rendre la courbe de réponse en fréquence plus verticale, il vous suffit d'augmenter l'ordre du filtre.
C'est quelque chose qui est assez facile à faire dans Matlab. C'est aussi quelque chose qui est faisable de faire du post-traitement. Il s'agit également de répétabilité, si vous appliquez le filtre par une journée ensoleillée aujourd'hui, alors vous vous attendez à ce qu'il fonctionne de manière identique à demain quand il pleut. Vous vous attendez à ce qu'il fonctionne exactement de la même façon, non?
Dans les circuits analogiques, vous avez tous ces "5% résistance", "1% condensateur", et tout le reste. Donc, si vous voulez faire quelque chose d' exact, vous devrez certainement couper le circuit par la suite pour qu'il corresponde parfaitement au filtre souhaité. Si vous voulez augmenter l'ordre du filtre ... alors malheureusement ... cela rendra le filtre beaucoup plus grand physiquement. Au lieu de prendre la taille d'une carte de crédit, elle prendra la taille, je ne sais pas, dépend de l'ordre du filtre et de ce que vous êtes d'accord.
En ce qui concerne la répétabilité, faire quelque chose aujourd'hui .. chaud .. demain .. plus froid ... les résistances changeront très légèrement, la réponse en fréquence changera, quelques Hz là-bas, certains là-bas, plus vous aurez de composants dans vos circuits , il est plus probable que vos composants changeront leurs valeurs. Et puis vous avez de l'humidité, oxydante ...
Et voici la punchline que j'aurais dû dire en premier, vous ne pouvez pas vraiment le post-traiter, à moins d'avoir des cassettes. Je ne suis pas sûr à 100% du support musical analogique utilisé pour enregistrer / supprimer facilement. Les disques LP seraient un cauchemar ...
Et n'oublions pas le prix. L'un est un logiciel, si vous l'écrivez vous-même, il est essentiellement gratuit, l'autre nécessite des composants, des pièces physiques.
Mais ne pensez pas que les filtres analogiques sont mauvais, ils ont leur utilité, tels que la suppression d'harmoniques désagréables dans les gros moteurs à courant continu, ou la fabrication de moteurs pas à pas ultra silencieux pour les imprimantes 3D en lissant le courant. Et des tonnes d'autres utilisations. - Aussi, si vous le résolviez avec un filtre analogique, personne ne penserait que ce serait une mauvaise solution.
Je crois que je réponds indirectement pourquoi la FFT est une meilleure façon de procéder, après le traitement. L' essentiel est que c'est beaucoup moins cher à faire. Vous pouvez également simplement appliquer un filtre coupe-bande si vous savez à quelle fréquence se situe le bruit. Ou un filtre coupe-bande plus large, alias.
Et la dernière chose que je veux ajouter ... woaw cette réponse est si longue, je suis désolé. Mais si vous utilisez un filtre analogique et que vous ... vous trompez avec vos calculs et que vous pensez que tout va bien et que vous l'utilisez dans un événement grave, comme un entretien avec le roi de Suède (Knugen). Et vous avez gâché le dimensionnement d'un condensateur, au lieu de filtrer le bruit à 16 kHz, vous filtrez le "bruit" à 4 kHz. Si vous le traitez à la place numériquement, il suffit de changer certaines variables, vous n'avez pas besoin de dessouder -> souder un autre composant. L'interview est également ruinée.
la source
Mais pourquoi ne pouvez-vous pas utiliser un filtre électronique classique pour supprimer les fréquences de bruit?
Qui a dit que tu ne pouvais pas? C'est ainsi que cela a été fait dans les jours précédant le traitement du signal numérique. Le problème est que le filtrage du bruit est toujours un compromis entre garder votre signal recherché (parole, musique) intact tout en réduisant le bruit.
Pour les cassettes et autres enregistrements analogiques, des systèmes comme DNL et Dolby ont été utilisés qui filtrent uniquement lorsque le signal est faible, ce qui signifie que le bruit est plus audible. Ensuite, lorsque le signal est plus fort, le filtre s'estompe. Voir: Article Wikipedia sur la réduction du bruit
La parole peut être limitée à une bande de fréquence étroite comme 300 Hz à 3 kHz tout en étant parfaitement compréhensible. Vous pourriez créer un simple filtre analogique pour cette bande, mais cela limiterait la quantité de bruit supprimée. Pour filtrer plus efficacement les fréquences en dehors de cette bande, il faudrait un filtre analogique complexe. De tels filtres sont difficiles à concevoir, à construire et à fabriquer.
C'est là que le traitement du signal numérique entre en jeu. Dans le domaine numérique, il est beaucoup plus facile de mettre en œuvre des filtres complexes avec de nombreux pôles et zéros. De plus, comme l'emplacement (dans le domaine fréquentiel) de ces pôles et zéros est lié à l'horloge du DSP (Digital Signal Processor), qui est une horloge (à cristal) précise, le filtre sera beaucoup plus précis par rapport à une implémentation analogique .
la source
Eh bien, la première étape pour comprendre pourquoi nous avons besoin de la FFT est de comprendre comment fonctionne le filtrage numérique.
Donc, fondamentalement, vous avez une structure, comme un registre à décalage, avec un certain nombre d'éléments de mémoire, une entrée et une sortie. Une valeur d'échantillon entre dans l'entrée, est décalée dans le registre et se déplace vers la sortie. À chaque étape du registre, il est multiplié par un nombre appelé coefficient de filtre.
Cette idée fonctionne bien lorsque vous avez un registre rapide faisant des multiplications rapides et que vous avez des échantillons qui arrivent lentement un par un.
Dans la vraie vie, au lieu de cela, vous obtiendrez très probablement un cadre composé d'un certain nombre d'échantillons. Lorsque vous souhaitez filtrer cela, vous convoluez les échantillons avec les coefficients de filtre. C'est la même chose que pour l'approche précédente, mais cela semble juste un peu différent.
Vient maintenant la partie FFT. Il s'avère que la convolution croît très rapidement en complexité numérique avec le nombre d'échantillons. En revanche, la FFT est à ses débuts numériquement compliquée, mais le nombre d'opérations nécessaires croît beaucoup plus lentement avec l'augmentation des coefficients de filtrage par rapport à la convolution.
Cela signifie qu'au-dessus d'un certain nombre d'échantillons, il sera beaucoup plus rapide de convertir un signal dans le domaine fréquentiel en utilisant une FFT, de filtrer le signal dans le domaine fréquentiel, puis de le reconvertir en utilisant IFFT. L'astuce que nous utilisons est l'une des propriétés de la convolution, à savoir que la convolution dans le domaine temporel peut, dans certaines circonstances, être modélisée comme une multiplication dans le domaine fréquentiel.
Donc, pour résumer, si le nombre de coefficients de filtre que vous avez est suffisamment grand, la FFT est plus rapide. Le «grand» pourrait être aussi petit qu'une centaine.
la source
Les méthodes basées sur la FFT (vous devrez toujours travailler avec des modifications de fenêtrage et de chevauchement-ajout ou chevauchement-décalage) ont pour principal avantage que la conception est solidement dans le domaine fréquentiel, et un filtre de Wiener ou une soustraction spectrale ou un certain nombre de d'autres systèmes reposant sur des statistiques de signaux et un modèle fonctionnent réellement fondamentalement dans le domaine fréquentiel.
En revanche, l'annulation d'écho et diverses variantes ne reposent pas sur un modèle du bruit mais sur un enregistrement imparfait fortement corrélé au bruit. Celles-ci sont effectuées à l'aide de filtres variables (généralement FIR) pour soustraire une estimation du bruit du signal et mettre à jour les filtres afin de maintenir la corrélation du signal restant au canal de bruit minimale. Pour ces techniques, la FFT n'est pas du tout utile (lorsque des retards considérables du signal résultant et des mises à jour du filtre sont autorisés, ils peuvent être utilisés comme composant dans une FIR blackbox avec retard pour des raisons de performances mais ne sont pas vraiment utiles pour leur capacité de représentation du domaine fréquentiel).
la source
Les filtres analogiques sont assez faciles à concevoir, mais la limitation est que vous devez continuer à ajouter des éléments de filtre physiques pour obtenir un filtrage coupe-bande de fréquences données. Et vous devez ajuster les valeurs des composants si vous souhaitez déplacer les encoches. Un seul ampli op peut faire une encoche coupe-bande, vous devez donc ajouter un autre amplificateur pour chaque encoche souhaitée. Pour une encoche plus sélective, vous auriez besoin de deux amplificateurs par encoche.
En termes pratiques, vous seriez probablement mieux servi par un filtre passe-bas de troisième ordre que vous pouvez faire avec un seul ampli-op ou peut-être un filtre passe-bas de cinquième ordre qui en nécessite deux. Utilisez le (s) filtre (s) passe-bas pour atténuer les fréquences supérieures à la fréquence de Nyquist (1/2 fréquence d'échantillonnage) avec une certaine marge et vous aurez un échantillon numérique de haute qualité à post-traiter. Avec un enregistrement clair comme celui-ci, vous pouvez ensuite appliquer des filtres FFT pour créer des filtres passe-haut, passe-bande et coupe-bande selon vos besoins.
la source
Le filtrage invariant dans le temps linéaire qu'un "filtre électronique classique" fait n'est qu'une multiplication "muette" dans le domaine de Fourier. Mais les informations que vous trouvez dans une FFT vous donnent plus de détails que la réponse d'un filtre, qui n'est qu'une combinaison linéaire de ces composants. En utilisant ces informations, vous pouvez diriger le traitement des données et les adapter aux données. Le bruit a certaines caractéristiques que les voix claires et les sons musicaux n'ont pas, par exemple la corrélation entre les harmoniques n'est pas presque la même pour le bruit que pour la voix ou la musique.
Donc, si nous pouvons identifier les corrélations entre les composantes de fréquence - c'est-à-dire trouver une "tonalité de base" d'une manière ou d'une autre, nous pouvons diriger le filtrage et le rendre plus adapté aux données.
la source