Scipy - Elaborazione audio


14

Sto cercando buoni strumenti per l'elaborazione del segnale audio. ad es. analisi vocale e musicale, identificazione automatica della lingua, ecc.

La libreria Scipy fornisce funzioni per l'elaborazione audio? Ha un buon strumento per l'elaborazione del segnale audio?

Potete per favore suggerire uno strumento per questo?


1
Sì, scipy fornisce l'infrastruttura per fare questo tipo di cose, ma devi essere un po 'più specifico su ciò che stai cercando per ottenere una risposta più utile (soprattutto per rispondere se esiste "uno strumento migliore di [scipy]" ).
A_A

1
in tempo reale o offline?
endolith

disconnesso. Sto cercando la classificazione vocale / musicale.
user1147663

1
Scipy e Numpy offrono insieme strumenti eccellenti per l'elaborazione dei dati in tempo reale e offline. In combinazione con Cython o Ctypes (tendo a preferire l'approccio Cython), è facile operare su array intorpiditi con operazioni veloci di basso livello scritte in C, se non è possibile convincere altre librerie a adattarsi.
Henry Gomersall,

1
l'unica cosa che manca a MATLAB è la capacità di definire l'origine di un array come qualcosa di diverso da 1. quindi il valore DC nell'output di un FFT è nel bin # 1 anziché nel bin # 0 come dovrebbe essere. ci sono altre cose sciocche su MATLAB (o Octave).
robert bristow-johnson,

Risposte:


9

Personalmente trovo Python una delle migliori scelte là fuori e ho fatto un po 'di lavoro nell'area dell'identificazione audio. Ad esempio, siete invitati a controllare il mio software per l'identificazione automatica degli uccelli da registrazioni audio rumorose: Ornithokrites . Il programma è utilizzato dal Dipartimento della Conservazione della Nuova Zelanda e ne sono contenti. Sulla base di questo esempio, vorrei sottolineare alcuni vantaggi dell'utilizzo di Python:

  1. Enorme comunità in rapido sviluppo che fornisce tonnellate di biblioteche. SciPy fornisce numerosi metodi per l'elaborazione del segnale (garantito, non così tanti e maturi come Matlab). Ricorda però che SciPy, sebbene uno dei più importanti, è solo una delle centinaia che può aiutarti nei tuoi sforzi. Ho trovato Aubio il migliore per l'analisi della musica. Per il riconoscimento vocale e musicale sicuramente apprezzerai un gran numero di funzioni audio che Yaafe è in grado di estrarre.
  2. È gratis! Una volta usciti dal mondo accademico, scopri rapidamente che Matlab è piuttosto costoso. E anche se te lo puoi permettere, i tuoi utenti in prospettiva non saranno contenti di questa dipendenza. Ad esempio, il Dipartimento della conservazione menzionato non accetterebbe software proprietario.
  3. L'identificazione richiede spesso l'apprendimento automatico e Python ha un ottimo toolkit: sklearn. È una biblioteca all'avanguardia e facile da usare. Dai un'occhiata alle competizioni di Kaggle (machine learning) e controlla quanti programmatori migliori usano Python e sklearn.
  4. Puoi gestire i "big data". Se vuoi eseguire analisi su enormi database di registrazioni in rete, Python ha un set di strumenti ben consolidato. Non penso che Matlab / Octave si interfacciano facilmente con ad es. Hadoop, anche se per favore, correggimi se sbaglio. R fa meglio quest'area.
  5. A proposito di interfacciamento, puoi facilmente interfacciare il tuo programma con un sito web. Questo è il modo in cui gestisco Ornithokrites (riconoscimento degli uccelli): il programma funziona sul servizio di cloud computing di Amazon Web Services. Ottimo se vuoi fornire il tuo software ad altre persone che non vogliono necessariamente passare attraverso la procedura di installazione di tutte le librerie richieste.

La mia seconda scelta sarebbe R. Sebbene non sia così ricco di funzionalità come Python, ha un gran numero di librerie utili (controlla ad esempio seewave per le tue applicazioni). L'installazione di quelli su Windows e Linux è un gioco da ragazzi, che è importante se desideri che altri utilizzino il tuo programma. Tuttavia, per la mia esperienza, il calcolo ad alte prestazioni in R è più difficile - una cosa importante da notare se è necessario eseguire MOLTE elaborazioni e identificazioni.

Esempi di classificazione musicale in Python:

Book Building Machine Learning Systems con Python ha un capitolo sulla classificazione della musica

Altri strumenti (elenco non completo): Python in Music


2

Sembra che Python sia un linguaggio popolare per questo con alcuni buoni set di strumenti basati sul fatto che bene ... L'ho visto in uso in alcuni dipartimenti e aziende di tecnologia musicale.

In ambito accademico, è molto comune vedere questo tipo di lavoro svolto in Matlab, poiché riunisce molti potenti toolkit (elaborazione del segnale, elaborazione parallela, rappresentazione grafica, utilità di database, Machine Learning, AI) in un IDE facile da sondare. Tuttavia, costa denaro e presenta alcuni inconvenienti (non è il miglior linguaggio di programmazione in termini di progettazione e prestazioni delle applicazioni, quindi è principalmente uno strumento di prototipazione ma può essere compilato in C). Octave è l'alternativa gratuita ma non posso garantire la qualità degli strumenti di elaborazione del segnale o del software stesso dal momento che non l'ho usato.


Grande biblioteca per questo è github.com/worldveil/dejavu . Python, open-source, licenza MIT e riconoscimento audio e impronte digitali.
montagne russe

scipyl'ecosistema ha molte funzionalità di MATLAB.
Darleison Rodrigues,

2

Puoi anche controllare pyAudioAnalysis : combina librerie aperte per il riconoscimento di pattern e diverse implementazioni di funzionalità audio. Alcune applicazioni di esempio implementate in pyAudioAnalysis , che potresti trovare interessanti:

  • rimozione del silenzio
  • diariazione degli oratori
  • classificazione del segmento (e formazione) utilizzando SVM, kNN, ecc
  • classificazione-segmentazione congiunta (usando HMM)
  • miniature audio
  • visualizzazione del contenuto audio

0

È possibile utilizzare la libreria C ++ di analisi audio di Essentia , che include i collegamenti Python. Sfrutterai tutti i vantaggi dell'ambiente Python / Scipy e molti algoritmi di analisi audio / musicale forniti con Essentia.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.