Question:
Analyse du spectre audio: logiciel PC vs analyseur de spectre matériel
Nicholas
2018-03-26 13:39:57 UTC
view on stackexchange narkive permalink

Je dois faire une analyse du spectre audio (en gros, écouter une machine et dire si elle est correctement calibrée).

J'enregistrerai le son qu'il produit avec un microphone (il sonne différemment s'il est correctement calibré que s'il ne l'est pas), puis je veux regarder le spectre audio, avec des plans pour dire automatiquement si une machine est configurée correctement (actuellement, un opérateur humain écoute la machine et effectue ce travail manuellement).

Dans un premier temps, cela n'a pas besoin d'être en temps réel, c'est-à-dire que je vais juste faire des enregistrements de la machine (une fois configurée correctement, une fois non) et comparer les spectres audio.

Ma question est la suivante: à part le microphone, ai-je besoin d'un analyseur de spectre matériel, ou est-ce qu'un logiciel PC suffit pour cela (la FFT peut bien sûr être effectuée sur un ordinateur aussi ...). Surtout parce que pour commencer, je n'ai pas besoin d'analyse en temps réel.

Je pose la question principalement parce qu'il semble que les analyseurs de spectre coûtent assez cher, et je ne veux pas acheter un tel appareil si je n'en ai pas réellement besoin.

Il existe des analyseurs de spectre Android gratuits pour votre téléphone.Avez-vous essayé un?
S'il a une tonalité dominante, alors les applications d'accordeur de guitare peuvent également valoir la peine d'être essayées - la mienne a d'excellents affichages d'accord et des tracés en cascade ....
Si votre microphone est un [microphone intelligent] (https://www.louroe.com/product/digifact-a/), vous n'avez besoin de rien d'autre.Il affichera le spectrogramme en temps réel, dans n'importe quel navigateur Web.Et si vous avez besoin des données brutes, jetez un coup d'œil au Javascript qui les rend - les données du spectrogramme sont des événements envoyés par le serveur HTML5.Divulgation complète: j'ai co-écrit le logiciel du produit lié, mais pas ces parties.
Il est peu probable que vous trouviez aujourd'hui un analyseur de spectre à balayage analogique traditionnel à des fins audio sensibles.À peu près tout sera un instrument d'échantillonnage et de FFT numérique.Le seul élément critique est de faire un bon échantillonnage;après cela, bien qu'il soit possible de faire le calcul incorrectement, aucun matériel spécial n'est requis.Donc, vraiment, cela revient à avoir besoin d'un bon échantillonneur audio et d'un logiciel décent.L'achat dans une boîte spéciale est probablement possible, mais la seule chose pour laquelle vous devez vraiment dépenser de l'argent est l'échantillonneur, et il existe déjà un marché prosommateur pour ceux-ci.
À l'heure actuelle, étant donné que vous n'avez aucun critère de performance, il est impossible de savoir si le matériel audio * stock * de votre PC / ordinateur portable / téléphone pourrait fonctionner.Il est probablement préférable de le savoir avant d'aller plus loin - il est temps de faire des expériences avec Audacity, Octave, Matlab ou tout ce que vous préférez.Si vous vous souciez des hautes fréquences, il convient de noter que les microphones MEMS trouvés dans les téléphones font souvent beaucoup mieux que les microphones à condensateur que l'on trouve dans les ordinateurs portables et les périphériques bon marché.
Juste une pensée considérant * "cela sonne différemment s'il est calibré correctement que si ce n'est pas le cas." * En supposant que cette tâche n'est pas triviale et qu'il peut y avoir plusieurs choses indépendantes à "calibrer", vous devriez envisager de développer du code (-line ou active) qui "observe" l'état actuel et développe une matrice de transformation où les étapes d'étalonnage séparées forment une dimension.Avec les mathématiques, vous pouvez transformer des ajustements complexes et interactifs nécessitant un calibrateur expérimenté en un processus trivial qu'un enfant peut suivre.
@MSalters Un "microphone intelligent" est juste un microphone plus le logiciel sur lequel cette question se pose, de par son apparence.
Six réponses:
#1
+16
bobflux
2018-03-26 15:00:10 UTC
view on stackexchange narkive permalink

Le facteur décisif entre un analyseur autonome ou une carte son serait les fréquences qui vous intéressent.

J'enregistrerai le son qu'il produit avec un microphone (il sonne différemment s'il est correctement calibré que s'il ne l'est pas),

Si la différence est audible, cela signifie que les fréquences que vous souhaitez mesurer sont inférieures à 20 kHz, ce qui signifie que l'équipement audio fonctionnera. C'est une bonne nouvelle car il est facilement disponible et bon marché.

N'utilisez pas un analyseur de spectre RF pour cela! Premièrement, il n'est pas nécessaire de payer pour une bande passante supplémentaire dont vous n'avez pas besoin, et deuxièmement, ils ont des limites de bande passante plus basses qui peuvent ne pas vous convenir. Il n'y a pas non plus besoin d'équipement spécialisé.

Une carte son (ou une prise d'entrée audio) sur un PC, une tablette ou un téléphone devrait fonctionner correctement. Si vous avez des problèmes de bruit, le coupable le plus probable serait un préampli micro bon marché à l'intérieur de votre matériel, alors envisagez un préampli externe ou un microphone avec préampli intégré. Essayez d'abord la solution la moins chère!

Votre problème sera probablement how pour obtenir un bon signal, ce qui signifie sélectionner le bon microphone / capteur, préampli et technique.

Si le son est en vol, un micro fonctionnera. Cependant, si vous êtes intéressé par les vibrations (par exemple, pour vérifier un roulement), un transducteur piézoélectrique ou un accéléromètre appliqué sur le châssis de la machine captera beaucoup mieux les vibrations, tout en ignorant le bruit aérien. Pourquoi pas un micro piézo pour guitare? Ou peut-être un microphone directionnel. Ou deux micros et faites la différence entre les signaux. Une bonne acquisition est essentielle, un signal propre est beaucoup plus facile à utiliser.

Pensez donc à la provenance du son que vous souhaitez acquérir, à l'origine du bruit que vous souhaitez ignorer, et décidez du capteur dont vous avez besoin.

Il existe plusieurs logiciels intéressants pour afficher la FFT en temps réel sur un PC, essayez par exemple visual analyzer (gratuit).Si vous pouvez voir des différences de spectre, vous pouvez écrire un peu de logiciel pour acquérir le signal, le FFT et détecter automatiquement les éléments pertinents.J'utiliserais python + scipy pour cela, car il dispose d'outils de traitement du signal puissants et pratiques.Ou exploitez une application de réglage de guitare comme le dit Henry.

Comme première étape pour jouer avec le son sur un PC, Audacity est gratuit et open source, et a un enregistrement (dans votre choix de format), et a [spectrographs] (https://manual.audacityteam.org/man/spectrogram_view.html) et une [boîte de dialogue FFT "plot spectre" directe] (http://manual.audacityteam.org/man/plot_spectrum.html) avec taille FFT configurable et fonction de fenêtrage.Ces liens vers le manuel contiennent des images de ce à quoi ressemble l'interface utilisateur.Audacity ne fait pas d'analyse à la volée pendant l'enregistrement, mais tout en expérimentant votre prob.souhaitez ré-analyser les mêmes échantillons de plusieurs manières pour voir ce qui fonctionne.
Le dernier RF analysé que j'ai utilisé est passé de 2Hz à 18GHz, parfaitement adapté à l'audio ^^
@PeterCordes oui l'audace est bien aussi.Je recommande également un analyseur visuel (lien en réponse) car il est gratuit et possède de nombreuses fonctionnalités utiles.
Soigné.Dommage que Visual Analyzer semble être une source fermée uniquement pour Windows.: / On dirait qu'il est conçu pour ce que fait l'OP.Les versions d'Audacity sont cependant disponibles pour Windows / Linux / OS X (et d'autres plates-formes).
@PeterCordes ouais c'est une source fermée.Si vous voulez un outil gratuit de type matlab qui peut acquérir à partir d'une carte son et effectuer tous les calculs que vous voulez, je peux vous recommander python + scipy.C'est une plateforme multiplateforme très puissante et open source.
Je ne les ai pas beaucoup utilisés, mais il existe des interfaces graphiques open source.Par exemple, http://xoscope.sourceforge.net/ exécute un oscilloscope à l'aide d'une entrée audio.Mais oui, si j'étais à la place de l'OP, je jouerais probablement avec Audacity pour enregistrer des échantillons de test et voir comment les analyser (principalement parce que je sais déjà utiliser Audacity), puis j'écrirais un programme pour faire exactementce que je voulais;python + scipy serait un bon choix pour cela, ou C / C ++ avec la bibliothèque scientifique GNU (GSL) est également bon.Il est GPL, pas LGPL, donc utilisable uniquement si vous pouvez distribuer la source à tous ceux qui obtiennent un binaire.
#2
+7
loudnoises
2018-03-26 15:50:07 UTC
view on stackexchange narkive permalink

Je recommanderais personnellement d'utiliser un PC pour plusieurs raisons.

D'un point de vue monétaire, s'il y a actuellement suffisamment d'informations pour identifier les problèmes en utilisant une oreille avertie, il n'est pas nécessaire de recourir à un analyseur matériel coûteux avec une bande passante étendue. De toute façon, la plupart des microphones ne sont conçus que pour mesurer 20 Hz - 20 kHz. Vous pouvez probablement acheter une configuration d'interface / préampli modeste avec un microphone, ou même simplement obtenir un microphone USB qui comprend tout ce matériel intégré pour plus de simplicité.

Si vous avez de l'expérience dans le traitement du signal appliqué, vous pouvez même écrire un python / MATLAB / etc. script qui automatiserait tout ce processus. Cette option ne serait pas possible avec un analyseur de matériel.

Juste comme un côté si vous êtes nouveau dans les mesures audio: la clé sera de vous concentrer sur la répétabilité. Obtenez une bonne mesure d'une machine correctement calibrée et assurez-vous d'avoir noté la procédure exacte afin qu'il n'y ait pas de différences dans la FFT en raison de changements dans la configuration. L'acoustique de la pièce peut jouer un rôle ici, mais si vous placez le microphone suffisamment près, vous devriez être en mesure d'isoler suffisamment le son direct. Vous pouvez également choisir un microphone directionnel pour faciliter cette tâche (cardiod / supercardiod / shotgun).

#3
+4
Graham
2018-03-26 18:50:03 UTC
view on stackexchange narkive permalink

De nos jours, tout matériel d'entrée audio sera parfaitement acceptable. Même l'entrée de la carte son sur votre PC sera normalement correcte; si vous dépensez quelques dizaines de dollars sur une "bonne" boîte d'entrée audio, c'est garanti. Le circuit d'entrée micro et les ADC n'ont pas été un facteur limitant pour l'audio depuis au moins une décennie, et n'importe quel PC sera en mesure de le transformer en un tracé de fréquence.

Le microphone est critique cependant! Chaque microphone est différent. Si vous voulez que votre calibrage vaille quelque chose, vous avez besoin d'un microphone de mesure correctement conçu. Tous les autres microphones sont conçus pour avoir des non-linéarités dans leur réponse, que ce soit pour les rendre agréables à l'oreille, pour créer une réponse polaire ou d'autres caractéristiques. Un micro de mesure est conçu pour être le meilleur profil omnidirectionnel possible avec le moins de coloration possible pour ce son.

Ils n'ont pas besoin d'être chers. Si vous voulez juste "assez bien", un Behringer ECM8000 ou similaire conviendrait parfaitement. Si vos clients veulent des étalonnages correctement traçables, vous pourriez avoir besoin de quelque chose de mieux comme un Beyer MM-1 avec un profil d'étalonnage fourni en usine. Est-ce que pas suppose que vous pouvez simplement lancer n'importe quel microphone aléatoire et le faire fonctionner correctement.

(Edit: les micros de mesure sont toujours des micros à condensateur / condensateur à petite membrane. Cela signifie que votre matériel d'entrée audio doit être en mesure de fournir une alimentation fantôme. Assurez-vous que vous avez bien coché le cas.)

N'oubliez pas non plus le support de microphone.Le microphone sera assez bon pour être omnidirectionnel, mais l'équipement peut ne pas l'être, selon la façon dont le bruit sort des trous dans les machines et quelles pièces résonnent de quelle manière.Vous devez à chaque fois monter le microphone au même endroit par rapport aux machines.Vous avez également besoin que le support ne transmette pas le bruit / les vibrations des machines au microphone.Un bon support (par exemple un Rycote Lyre) peut coûter plus cher que le microphone.

On pourrait faire valoir que le microphone peut être quelque peu étalonné en dehors de la mesure, tant que la même configuration est utilisée dans chaque mesure, il serait toujours possible de comparer une bonne mesure connue à la nouvelle mesure inconnue (c'est juste relatif, pasabsolu).Cependant, vous faites un point très important sur le montage.
@loudnoises Peut-être - je suppose que cela dépend de l'application.Et si vous saviez absolument d'où vient le son, vous pouvez utiliser quelque chose de plus directionnel pour éviter les sons provenant d'ailleurs.Dans les deux cas, je crains que mon processus de test ne dépende d'un seul micro et que les tests ne fonctionnent pas si vous changez de micro.Certains micros ont un bon contrôle de fabrication, donc deux micros aléatoires seront assez similaires, mais certains (en particulier les moins chers) le sont beaucoup moins.
#4
+3
Jack B
2018-03-26 14:03:17 UTC
view on stackexchange narkive permalink

Un PC peut effectuer une analyse spectrale du son capturé.Un analyseur de spectre matériel peut faire un meilleur travail - cela dépend donc de la qualité de l'analyse.Le PC ira probablement bien, pour plusieurs raisons:

  • Vous essayez seulement d'être aussi bon ou un peu meilleur qu'une personne qui écoute et juge.Le PC est bien meilleur qu'une oreille humaine pour faire des évaluations quantitatives d'un son

  • Une grande partie du coût d'un bon analyseur de spectre est la capacité de travailler à des fréquences élevées au-dessus de celles que nous pouvons entendre.Si vous vous en tenez à la plage audio, vous n'en avez pas besoin.

Je l'essayerais donc avec un PC.Obtenez aussi un microphone décent.Et seulement si cela ne fonctionne pas, envisagez un analyseur de spectre.

Les FFTS sont très optimisés et fonctionnent très rapidement lorsque les données tiennent toutes dans un cache L1 ou L2 des cœurs sur le PC, par exemple 16k points.Il est probable que le logiciel mettra plus de temps à fouiller dans les intervalles de fréquences en essayant de lui donner un sens, que l'exécution de la FFT elle-même.
#5
  0
kalpak
2018-03-26 20:50:38 UTC
view on stackexchange narkive permalink

Un PC (l'unité principale) a plusieurs alimentations de commutation en plus de beaucoup de logique de commutation.Ceux-ci contribuent à la fois aux interférences conduites et rayonnées.

Alors qu'un analyseur de spectre autonome ou basé sur DSO est conçu à la terre pour avoir une faible auto-interférence et un excellent blindage pour empêcher la capture de sources externes.Donc, en général, ils auront des performances supérieures.

Si vous voulez économiser de l'argent tout en obtenant des performances raisonnables, jetez un œil à un DSO USB avec une résolution plus élevée / un ADC plus silencieux.Ils peuvent avoir de meilleures performances qu'une carte branchée dans l'un des slots PCIe

#6
  0
CrossRoads
2018-03-26 21:03:47 UTC
view on stackexchange narkive permalink

J'ai utilisé Visual Analyzer avec un micro portable Sony à 10 $ branché sur la carte son de mon ordinateur portable, cela a bien fonctionné pour m'aider à déterminer que le bourdonnement d'un amplificateur à tube était lié à une ligne électrique - certains à 60 Hz, plus à 120 Ha et180 Hz. Difficile à filtrer, mais minimisable en jouant avec le niveau de tension des éléments chauffants de certains tubes.

Aucune idée si cela fonctionne avec Win10.Je pense que j'avais Win Vista sur un ordinateur portable plus ancien lorsque je l'utilisais. http://www.sillanumsoft.org/



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...