Scipy - Pemrosesan Audio


14

Saya mencari alat yang bagus untuk pemrosesan sinyal Audio. mis. Analisis wicara & musik, identifikasi bahasa otomatis, dll.

Apakah perpustakaan Scipy menyediakan fungsi untuk pemrosesan audio? Apakah alat ini baik untuk pemrosesan Sinyal Audio?

Bisakah Anda menyarankan alat untuk ini?


1
Ya, Scipy memang menyediakan infrastruktur untuk melakukan hal-hal semacam ini tetapi Anda harus sedikit lebih spesifik tentang apa yang Anda cari untuk mendapatkan jawaban yang lebih berguna (terutama untuk menjawab apakah ada atau tidak "alat yang lebih baik daripada [scipy]" ).
A_A

1
waktu nyata atau offline?
endolith

offline. Saya mencari klasifikasi Pidato / Musik.
user1147663

1
Scipy dan Numpy bersama-sama menyediakan alat yang sangat baik untuk pemrosesan data secara real-time dan offline. Dalam kombinasi dengan Cython atau Ctypes (saya cenderung lebih suka pendekatan Cython), mudah untuk beroperasi pada array numpy dengan operasi cepat tingkat rendah yang ditulis dalam C, jika perpustakaan lain tidak dapat dibujuk agar sesuai.
Henry Gomersall

1
satu hal yang tidak dimiliki MATLAB adalah kemampuan untuk menentukan asal usul array menjadi sesuatu selain 1. jadi seperti nilai DC dalam output FFT ada di bin # 1 bukannya bin # 0 sebagaimana mestinya. ada beberapa hal konyol lainnya tentang MATLAB (atau oktaf).
robert bristow-johnson

Jawaban:


9

Secara pribadi saya menemukan Python salah satu pilihan terbaik di luar sana dan melakukan beberapa pekerjaan di bidang identifikasi audio. Anda dipersilakan untuk memeriksa misalnya perangkat lunak saya untuk identifikasi burung secara otomatis dari rekaman audio yang berisik: Ornithokrites . Program ini digunakan oleh Departemen Konservasi Selandia Baru dan mereka senang karenanya. Berdasarkan contoh ini saya ingin menunjukkan beberapa keuntungan menggunakan Python:

  1. Komunitas besar yang berkembang pesat menyediakan banyak perpustakaan. SciPy menyediakan sejumlah besar metode untuk pemrosesan sinyal (diberikan, tidak banyak dan matang seperti Matlab). Pikiran meskipun SciPy, meskipun salah satu yang paling penting, hanya satu dari ratusan yang dapat membantu Anda dalam usaha Anda. Saya menemukan Aubio terbaik untuk analisis musik. Untuk pengenalan suara dan musik, Anda pasti akan menikmati sejumlah besar fitur audio yang dapat diekstrak Yaafe .
  2. Gratis! Setelah keluar dari dunia akademis, Anda dengan cepat mengetahui bahwa Matlab agak mahal. Dan bahkan jika Anda mampu membelinya, maka pengguna perspektif Anda tidak akan senang dengan ketergantungan ini. Misalnya, Departemen Konservasi yang disebutkan tidak akan menerima perangkat lunak berpemilik.
  3. Identifikasi sering membutuhkan pembelajaran mesin dan Python memiliki toolkit yang hebat untuk itu: sklearn. Ini adalah perpustakaan yang canggih - dan mudah digunakan. Silahkan lihat pada kompetisi Kaggle (pembelajaran mesin) dan cek berapa banyak programmer atas menggunakan Python dan sklearn.
  4. Anda dapat mengelola "data besar". Jika Anda ingin menjalankan analisis terhadap database besar rekaman jaringan, maka Python telah menetapkan seperangkat alat. Saya tidak berpikir antarmuka Matlab / Oktaf dengan mudah dengan misalnya Hadoop, meskipun tolong perbaiki saya jika saya salah. R melakukan area ini dengan lebih baik.
  5. Berbicara tentang interfacing, Anda dapat dengan mudah menghubungkan program Anda dengan situs web. Ini adalah cara saya mengelola Ornithokrites (pengenalan burung): program berjalan pada layanan cloud computing Amazon Web Services. Hebat jika Anda ingin memberikan perangkat lunak Anda kepada orang lain yang tidak perlu ingin melalui prosedur instalasi semua perpustakaan yang diperlukan.

Pilihan kedua saya adalah R. Meskipun tidak kaya fitur seperti Python, ia memiliki banyak sekali pustaka yang berguna (periksa misalnya seewave untuk aplikasi Anda). Instalasi yang pada Windows dan Linux adalah sepotong kue, yang penting jika Anda ingin orang lain menggunakan program Anda. Namun, menurut pengalaman saya, komputasi kinerja tinggi dalam R lebih sulit - hal yang penting untuk diperhatikan jika Anda perlu BANYAK pemrosesan dan identifikasi.

Contoh klasifikasi musik dalam Python:

Sistem Pembelajaran Mesin Pembuatan Buku dengan Python memiliki bab tentang klasifikasi musik

Alat lain (daftar tidak berarti lengkap): Python di Musik


2

Tampaknya Python adalah bahasa yang populer untuk ini dengan beberapa perangkat yang baik berdasarkan pada fakta bahwa yah ... Saya telah melihatnya digunakan di beberapa departemen & perusahaan lulusan teknologi musik.

Di dunia akademis, sangat umum untuk melihat jenis pekerjaan yang dilakukan di Matlab, karena menyatukan banyak toolkit yang kuat (Pemrosesan Sinyal, Komputasi Paralel, grafik, utilitas Basis Data, Pembelajaran Mesin, AI) dalam IDE yang mudah diselidiki. Namun ini membutuhkan biaya dan memiliki beberapa kelemahan (bukan bahasa pemrograman terbaik dalam hal desain & kinerja aplikasi, jadi ini merupakan alat prototyping tetapi dapat dikompilasi hingga C). Oktaf adalah alternatif gratis tetapi saya tidak dapat menjamin kualitas alat pengolah sinyal atau perangkat lunak itu sendiri karena saya belum menggunakannya.


Perpustakaan hebat untuk ini adalah github.com/worldveil/dejavu . Python, open-source, MIT berlisensi dan melakukan pengenalan audio dan sidik jari.
lollercoaster

scipyekosistem memiliki banyak fungsi MATLAB.
Darleison Rodrigues

2

Anda juga dapat memeriksa pyAudioAnalysis : ini menggabungkan perpustakaan terbuka untuk pengenalan pola dan beberapa implementasi fitur audio. Beberapa contoh aplikasi yang diimplementasikan dalam pyAudioAnalysis , yang menurut Anda menarik:

  • penghapusan diam
  • pembicara diariation
  • klasifikasi segmen (dan pelatihan) menggunakan SVM, kNN, dll
  • segmentasi-klasifikasi gabungan (menggunakan HMM)
  • thumbnail audio
  • visualisasi konten audio

0

Anda dapat menggunakan pustaka analisis audio C ++ Essentia , yang mencakup binding python. Anda akan mengambil semua keuntungan dari lingkungan python / scipy plus banyak algoritma analisis audio / musik yang datang dengan Essentia.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.