Ini adalah pustaka Python dan alat baris perintah yang membantu Anda mencari kata atau frasa dalam file audio (format wav). Itu juga dibangun berdasarkan kemampuan pencarian awal dan menyediakan beberapa [yang disebut] kemampuan pencarian lanjutan!
Untuk membaca dokumentasinya, kunjungi di sini.
Buka terminal dan masukkan:
pip instal SimpleAudioIndexer
Detail instalasi dapat ditemukan di dokumentasi di sini.
Ada file docker yang disertakan dalam repo jika Anda tidak dapat melakukan instalasi asli atau menggunakan sistem Windows.
Buka terminal dan masukkan:
pip hapus instalan SimpleAudioIndexer
Namun, menghapus instalan sox bergantung pada apakah Anda menggunakan sistem Linux atau Mac. Untuk informasi lebih lanjut, kunjungi di sini.
Katakanlah Anda memiliki file audio ini:
Unduh ke direktori kosong untuk kesederhanaan. Kami merujuk ke direktori itu sebagai SRC_DIR dan nama file audio ini sebagai small_audio.wav.
Inilah cara Anda dapat menelusurinya.
Buka terminal dan masuk.
$ sai --mode "ibm" --username_ibm USERNAME --password_ibm PASSWORD --src_dir SRC_DIR --search "dipanggil" {'disebut': {'small_audio.wav': [(1.25, 1.71)]}}
Ganti USERNAME dan PASSWORD dengan kredensial IBM Watson Anda dan SRC_DIR dengan jalur absolut ke direktori yang baru saja Anda siapkan.
Keluarannya adalah, seperti di atas, kamus yang memiliki kueri, file tempat kueri tersebut muncul, dan semua (detik awal, detik akhir) kueri tersebut.
Perhatikan bahwa semua perintah bekerja secara seragam untuk mesin lain (yaitu Pocketsphinx), misalnya perintah di atas dapat dimasukkan sebagai:
$ sai --mode "cmu" --src_dir SRC_DIR --pencarian "hidup" {'hidup': {'small_audio.wav': [(3.12, 3.88)]}}
Yang akan menggunakan Pocketsphinx dan bukan Watson untuk mendapatkan stempel waktunya. Perhatikan bahwa kualitas/akurasi Pocketsphinx jauh lebih rendah daripada Watson.
Daripada mencari kata, Anda juga bisa mencocokkan pola ekspresi reguler, misalnya:
$ sai --mode ibm --src_dir SRC_DIR --nama pengguna_ibm NAMA PENGGUNA --password_ibm PASSWORD --regexp " [az][az] " {u' di ': {'small_audio.wav': [(2.81, 2.93)]}, {u' ke ': {'small_audio.wav': [(1.71, 1.81)]}}
Itulah hasil pencarian kata dua huruf. Perhatikan bahwa hasil Anda akan cocok dengan ekspresi reguler aribtrary apa pun.
Anda juga dapat menyimpan dan memuat data yang diindeks dari skrip baris perintah. Untuk informasi lebih lanjut, kunjungi di sini.
Katakanlah Anda memiliki file ini
>> > from SimpleAudioIndexer import SimpleAudioIndexer as sai
Setelah itu, Anda harus membuat sebuah instance dari sai
>> > indexer = sai ( mode = "ibm" , src_dir = "SRC_DIR" , username_ibm = "USERNAME" , password_ibm = "PASSWORD" )
Sekarang Anda dapat mengindeks semua file audio yang tersedia dengan memanggil metode index_audio:
>> > indexer . index_audio ()
Anda dapat memiliki generator pencarian:
>> > searcher = indexer . search_gen ( query = "called" )
>> > print ( next ( searcher ))
{ 'Query' : 'called' , 'File Name' : 'small_audio.wav' , 'Result' : ( 1.25 , 1.71 )}
Sekarang ada beberapa argumen lagi yang diterapkan untuk search_gen. Katakanlah Anda ingin penelusuran Anda peka huruf besar-kecil (secara default tidak). Atau, misalnya Anda ingin mencari frasa tetapi ada jeda waktu dan pengindeks tidak mengambilnya dengan benar, Anda dapat menentukan timing_error. Atau, katakanlah ada kata yang terlewat sama sekali, maka Anda dapat menentukan missing_word_tolerance dll.
Untuk daftar lengkapnya, lihat referensi API di sini
Perhatikan bahwa Anda juga dapat memanggil metode search_all untuk mencari daftar pertanyaan dalam semua file audio:
Terakhir, Anda dapat melakukan pencarian regex!
>> > print ( indexer . search_regexp ( pattern = "[A-Z][^l]* " )
{ u'Americans are ca' : { 'small_audio.wav' : [( 0.21 , 1.71 )]}}
Ada lebih banyak fungsi yang diterapkan. Untuk penjelasan detailnya, baca dokumentasinya di sini.
Jika Anda ingin menyumbangkan kode atau ide, ajukan permintaan bug atau berikan masukan, Kunjungi file CONTRIBUTING.
Lihat juga daftar kontributor proyek ini.
Proyek ini dilisensikan di bawah lisensi Apache v2.0 - lihat file LISENSI untuk lebih jelasnya.