Domanda:
Analisi dello spettro audio: software per PC vs analizzatore di spettro hardware
Nicholas
2018-03-26 13:39:57 UTC
view on stackexchange narkive permalink

Devo fare alcune analisi dello spettro audio (in pratica, ascoltare una macchina e capire se è calibrata correttamente).

Registrerò il suono che produce con un microfono (suona in modo diverso se è calibrato correttamente rispetto a se non lo è), e poi voglio guardare lo spettro audio, con l'intenzione di dire automaticamente se una macchina è configurata correttamente (attualmente, un operatore umano ascolta la macchina e fa questo lavoro manualmente).

Come primo passo, non è necessario che sia in tempo reale, ovvero farò solo registrazioni della macchina (una volta impostata correttamente, una volta no) e confronterò gli spettri audio.

La mia domanda è: a parte il microfono, ho bisogno di un analizzatore di spettro hardware o il software per PC è sufficiente per questo (FFT può ovviamente essere fatto anche su un computer ...). Soprattutto perché per cominciare non ho bisogno di analisi in tempo reale.

Lo chiedo principalmente perché sembra che gli analizzatori di spettro costino parecchio e non voglio acquistare un dispositivo del genere se non ne ho effettivamente bisogno.

Esistono analizzatori di spettro Android gratuiti per il tuo telefono.Ne hai provato uno?
Se ha un tono dominante, vale la pena provare anche le app per l'accordatore di chitarra: la mia ha eccellenti display di accordatura e grafici a cascata ...
Se il tuo microfono è un [microfono intelligente] (https://www.louroe.com/product/digifact-a/), non hai bisogno di nient'altro.Mostrerà lo spettrogramma in tempo reale, all'interno di qualsiasi browser web.E se hai bisogno dei dati grezzi, dai un'occhiata al Javascript che lo riproduce: i dati dello spettrogramma sono eventi inviati dal server HTML5.Divulgazione completa: ho co-scritto il software del prodotto collegato, sebbene non queste parti.
È piuttosto improbabile che oggi trovi un analizzatore di spettro analogico tradizionale per scopi audio ragionevoli.Praticamente qualsiasi cosa diventerà un campione digitale e uno strumento FFT.L'unica parte critica di questo è fare un buon campionamento;dopo di che, sebbene sia possibile fare i calcoli in modo errato, non è richiesto alcun hardware speciale.Quindi in realtà questo si riduce alla necessità di un buon campionatore audio e di un software decente.Probabilmente è possibile acquistarlo in una scatola per scopi speciali, ma l'unica cosa per cui hai davvero bisogno di spendere soldi è il campionatore, e c'è già un mercato prosumer per quelli.
Al momento, dato che non hai criteri di prestazione, è inconoscibile se l'hardware audio * stock * del tuo PC / laptop / telefono possa funzionare.Probabilmente è meglio scoprirlo prima di andare oltre: tempo per alcuni esperimenti con Audacity, Octave, Matlab o qualsiasi altra cosa tu preferisca.Se ti interessano le alte frequenze, vale la pena notare che i microfoni MEMS che si trovano nei telefoni spesso funzionano molto meglio lassù rispetto ai microfoni a condensatore che si trovano nei laptop e nelle periferiche economiche.
Solo un pensiero considerando * "suona diversamente se è calibrato correttamente che se non lo è." * Supponendo che questo compito non sia banale e che ci possano essere parecchie cose indipendenti da "calibrare", dovresti considerare lo sviluppo di codice (scappare-line o attivo) che "osserva" lo stato corrente e sviluppa una matrice di trasformazione in cui le fasi di calibrazione separate formano una dimensione.Con la matematica, puoi trasformare un'interazione complessa che richiede un calibratore esperto in un processo banale che un bambino può seguire.
@MSalters Un "microfono intelligente" è solo un microfono più il software che questa domanda sta chiedendo, dal suo aspetto.
Sei risposte:
bobflux
2018-03-26 15:00:10 UTC
view on stackexchange narkive permalink

Il fattore decisivo tra analizzatore autonomo o scheda audio sarebbero le frequenze che ti interessano.

Registrerò il suono che produce con un microfono (suona in modo diverso se è calibrato correttamente rispetto a se non lo è),

Se la differenza è udibile, significa che le frequenze che desideri misurare sono inferiori a 20 kHz, il che significa che l'attrezzatura audio funzionerà. Questa è una buona notizia in quanto è facilmente disponibile ed economica.

Non utilizzare un analizzatore di spettro RF per questo! In primo luogo, non è necessario pagare per una larghezza di banda extra che non ti serve e in secondo luogo hanno limiti di larghezza di banda inferiori che potrebbero non essere adatti a te. Non c'è nemmeno bisogno di attrezzature specializzate.

Una scheda audio (o un jack di ingresso audio) su un PC, un tablet o un telefono dovrebbe funzionare correttamente. Se hai problemi di rumore, il colpevole più probabile sarebbe un preamplificatore microfonico economico all'interno del tuo hardware, quindi considera un preamplificatore esterno o un microfono con preamplificatore integrato. Prova prima la soluzione più economica!

Il tuo problema molto probabilmente sarà come ottenere un buon segnale, il che significa selezionare il giusto microfono / sensore, preamplificatore e tecnica.

Se il suono è aereo, allora un microfono funzionerà. Tuttavia, se sei interessato alle vibrazioni (ad esempio, per controllare un cuscinetto), un trasduttore piezoelettrico o un accelerometro applicato al telaio della macchina raccoglierà le vibrazioni molto meglio, ignorando il rumore aereo. Perché non un pickup piezo per chitarra? O forse un microfono direzionale. O due microfoni e prendi la differenza tra i segnali. Una buona acquisizione è essenziale, un segnale pulito è molto più facile da lavorare.

Quindi pensa a da dove proviene il suono che desideri acquisire, da dove proviene il rumore che vuoi ignorare e decidi quale sensore ti serve.

Ci sono diversi bei pacchetti software per visualizzare FFT in tempo reale su un PC, prova ad esempio visual analyzer (gratuito).Se puoi vedere differenze nello spettro, puoi scrivere un po 'di software per acquisire il segnale, FFT e rilevare automaticamente le cose rilevanti.Userei python + scipy per questo, poiché ha strumenti di elaborazione del segnale potenti e convenienti.Oppure sfrutta un'app per l'accordatura della chitarra, come dice Henry.

Come primo passo per giocare con il suono su un PC, Audacity è gratuito e open source, ha la registrazione (nel formato scelto) e ha [spettrografi] (https://manual.audacityteam.org/man/spectrogram_view.html) e una [finestra di dialogo "spettro di trama" FFT] (http://manual.audacityteam.org/man/plot_spectrum.html) con dimensione FFT configurabile e funzione di finestra.Questi collegamenti al manuale hanno immagini di come appare l'interfaccia utente.Audacity non esegue analisi al volo durante la registrazione, ma durante la sperimentazione è possibile.desidera rianalizzare gli stessi campioni in diversi modi per vedere cosa funziona.
L'ultima RF analizzata che ho usato è passata da 2Hz a 18GHz, perfettamente adatta per l'audio ^^
@PeterCordes sì anche l'audacia è carina.Consiglio anche l'analizzatore visivo (link in risposta) in quanto è gratuito e ha molte funzioni utili.
Neat.Peccato che Visual Analyzer sembri essere solo per Windows e closed source.: / Sembra che sia progettato per ciò che sta facendo l'OP.Tuttavia, le build di Audacity sono disponibili per Windows / Linux / OS X (e altre piattaforme).
@PeterCordes sì, è closed source.Se vuoi uno strumento gratuito simile a matlab che può acquisire dalla scheda audio e fare qualsiasi calcolo tu voglia, posso consigliare python + scipy.È molto potente e multipiattaforma open source.
Non li ho usati molto, ma ci sono GUI open source.Ad esempio, http://xoscope.sourceforge.net/ esegue un oscilloscopio utilizzando l'ingresso audio.Ma sì, se fossi nei panni dell'OP, probabilmente giocherei con Audacity per registrare alcuni campioni di prova e vedere come analizzarli (soprattutto perché so già come usare Audacity), e poi scrivere un programma per farlo esattamentequello che volevo;python + scipy sarebbe una buona scelta per questo, o anche C / C ++ con la GNU Scientific Library (GSL) è buono.È GPL, non LGPL, quindi utilizzabile solo se puoi distribuire il sorgente a chiunque abbia un binario.
loudnoises
2018-03-26 15:50:07 UTC
view on stackexchange narkive permalink

Suggerirei personalmente di utilizzare un PC per diversi motivi.

Da un punto di vista monetario, se al momento sono disponibili informazioni sufficienti per identificare i problemi utilizzando un orecchio addestrato, non è necessario un costoso analizzatore hardware con larghezza di banda estesa. La maggior parte dei microfoni sono comunque progettati per misurare solo 20 Hz - 20 kHz. Probabilmente puoi acquistare una modesta interfaccia / configurazione del preamplificatore con un microfono, o anche solo ottenere un microfono USB che include tutto l'hardware integrato per semplicità.

Se hai esperienza nell'elaborazione del segnale applicato, potresti persino scrivere un python / MATLAB / ecc. script che automatizzerebbe l'intero processo. Questa opzione non sarebbe possibile con un analizzatore hardware.

Proprio come un lato se sei nuovo alle misurazioni audio: la chiave sarà concentrarti sulla ripetibilità. Ottieni una buona misurazione di una macchina calibrata correttamente e assicurati di aver annotato la procedura esatta in modo che non ci siano differenze nella FFT a causa dei cambiamenti nella configurazione. L'acustica della stanza può svolgere un ruolo qui, tuttavia se si posiziona il microfono abbastanza vicino si dovrebbe essere in grado di isolare sufficientemente il suono diretto. Potresti scegliere un microfono direzionale per facilitare anche questo compito (cardiod / supercardiod / shotgun).

Graham
2018-03-26 18:50:03 UTC
view on stackexchange narkive permalink

Oggigiorno, qualsiasi hardware di input audio sarà perfettamente accettabile. Anche l'ingresso della scheda audio al PC normalmente sarà OK; se spendi qualche decina di dollari per una "corretta" casella di input audio, è garantito. Il circuito di ingresso del microfono e gli ADC non sono stati un fattore limitante per l'audio per almeno un decennio e qualsiasi PC sarà in grado di trasformarlo in un diagramma di frequenza.

Il microfono è critico però! Ogni microfono è diverso. Se vuoi che la tua calibrazione valga qualcosa, hai bisogno di un microfono di misurazione adeguatamente progettato. Tutti gli altri microfoni sono progettati per avere non linearità nella loro risposta, sia per renderli piacevoli all'orecchio, per creare una risposta polare o per altre caratteristiche. Un microfono di misurazione è progettato per essere il miglior profilo omnidirezionale possibile con la minor colorazione possibile per quel suono.

Non devono essere costosi. Se vuoi solo "abbastanza buono", un Behringer ECM8000 o simile sarebbe perfettamente adeguato. Se i tuoi clienti desiderano calibrazioni adeguatamente tracciabili, potresti aver bisogno di qualcosa di meglio come un Beyer MM-1 con un profilo di calibrazione fornito in fabbrica. non presume che puoi semplicemente inserire un microfono a caso e farlo funzionare correttamente.

(Modifica: i microfoni di misurazione sono sempre microfoni a condensatore / condensatore a diaframma piccolo. Ciò significa che l'hardware di ingresso audio deve essere in grado di fornire alimentazione phantom. Assicurati di aver controllato che sia così.)

Inoltre, non dimenticare il supporto del microfono.Il microfono sarà abbastanza buono per essere omnidirezionale, ma l'attrezzatura potrebbe non esserlo, a seconda di come il rumore esce dai buchi del macchinario e quali parti risuonano in che modo.È necessario montare ogni volta il microfono nello stesso punto rispetto alla macchina.È inoltre necessario che il supporto non trasmetta rumori / vibrazioni dalla macchina al microfono.Un buon supporto (ad esempio un Rycote Lyre) può costare più del microfono.

Si potrebbe sostenere che il microfono può essere in qualche modo calibrato fuori dalla misurazione, a condizione che la stessa configurazione venga utilizzata in ogni misurazione sarebbe ancora possibile confrontare una misurazione buona nota con la nuova misurazione sconosciutaassoluto).Tuttavia fai un punto molto importante sul montaggio.
@loudnoises Possibilmente, immagino che dipenda dall'applicazione.E se sapessi assolutamente da dove proviene il suono, potresti usare qualcosa di più direzionale per evitare il suono da altrove.In entrambi i casi, però, sarei preoccupato di rendere il mio processo di test dipendente da un singolo microfono e i test non funzioneranno se cambi il microfono.Alcuni microfoni hanno un buon controllo di produzione, quindi due microfoni casuali saranno piuttosto simili, ma alcuni (specialmente quelli più economici) lo sono molto meno.
Jack B
2018-03-26 14:03:17 UTC
view on stackexchange narkive permalink

Un PC può eseguire l'analisi dello spettro del suono catturato.Un analizzatore di spettro hardware può fare un lavoro migliore, quindi dipende da quanto deve essere buona l'analisi.Il PC probabilmente andrà bene, per un paio di motivi:

  • Stai solo cercando di essere bravo o un po 'meglio di una persona che ascolta e giudica.Il PC è molto meglio di un orecchio umano nel fare valutazioni quantitative di un suono

  • Gran parte del costo di un buon analizzatore di spettro è la capacità di lavorare ad alte frequenze superiori a quelle che possiamo sentire.Se rimani nella gamma audio, non ne hai bisogno.

Quindi lo proverei con un PC.Procurati anche un microfono decente.E solo se questo non funziona, considera un analizzatore di spettro.

Gli FFTS sono molto ottimizzati e funzionano molto velocemente quando tutti i dati rientrano nella cache L1 o L2 di un core sul PC, ad esempio 16k punti.È probabile che il software impieghi più tempo a frugare tra i contenitori di frequenza cercando di dargli un senso, rispetto a quanto lo stesso FFT impiega per eseguire.
kalpak
2018-03-26 20:50:38 UTC
view on stackexchange narkive permalink

Un PC (l'unità principale) ha più alimentazioni di commutazione oltre a molta logica di commutazione.Questi contribuiscono all'interferenza sia condotta che irradiata.

Considerando che, un analizzatore di spettro standalone o basato su DSO è progettato da zero per avere una bassa autointerferenza e un'eccellente schermatura per impedire il rilevamento da fonti esterne.Quindi, in generale, avranno prestazioni superiori.

Se vuoi risparmiare denaro e ottenere prestazioni ragionevoli, dai un'occhiata a un DSO USB con una risoluzione più alta / ADC più silenzioso.Possono avere prestazioni migliori rispetto alla scheda inserita in uno degli slot PCIe

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

Ho utilizzato Visual Analyzer con un microfono portatile Sony da $ 10 collegato alla scheda audio del mio laptop, ha funzionato bene per aiutarmi a determinare che il ronzio di un amplificatore a valvole era correlato alla linea di alimentazione - alcuni a 60 Hz, altri a 120 Ha e180 Hz. Difficile da filtrare, ma minimizzabile giocando con il livello di tensione degli elementi riscaldanti di alcune valvole.

Non ho idea se funziona con Win10.Penso di avere Win Vista su un laptop più vecchio quando lo stavo usando. http://www.sillanumsoft.org/



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...