Aeneas adalah perpustakaan Python/C dan satu set alat untuk secara otomatis menyinkronkan audio dan teks (alias penyelarasan paksa).
Aeneas secara otomatis menghasilkan peta sinkronisasi antara daftar fragmen teks dan file audio yang berisi narasi teks. Dalam Ilmu Komputer, tugas ini dikenal sebagai (secara otomatis menghitung a) penyelarasan paksa .
Misalnya, mengingat file teks ini dan file audio ini, Aeneas menentukan, untuk setiap fragmen, interval waktu yang sesuai dalam file audio:
1 => [00:00:00.000, 00:00:02.640]
From fairest creatures we desire increase, => [00:00:02.640, 00:00:05.880]
That thereby beauty's rose might never die, => [00:00:05.880, 00:00:09.240]
But as the riper should by time decease, => [00:00:09.240, 00:00:11.920]
His tender heir might bear his memory: => [00:00:11.920, 00:00:15.280]
But thou contracted to thine own bright eyes, => [00:00:15.280, 00:00:18.800]
Feed'st thy light's flame with self-substantial fuel, => [00:00:18.800, 00:00:22.760]
Making a famine where abundance lies, => [00:00:22.760, 00:00:25.680]
Thy self thy foe, to thy sweet self too cruel: => [00:00:25.680, 00:00:31.240]
Thou that art now the world's fresh ornament, => [00:00:31.240, 00:00:34.400]
And only herald to the gaudy spring, => [00:00:34.400, 00:00:36.920]
Within thine own bud buriest thy content, => [00:00:36.920, 00:00:40.640]
And tender churl mak'st waste in niggarding: => [00:00:40.640, 00:00:43.640]
Pity the world, or else this glutton be, => [00:00:43.640, 00:00:48.080]
To eat the world's due, by the grave and thee. => [00:00:48.080, 00:00:53.240]

Peta sinkronisasi ini dapat menjadi output untuk mengajukan dalam beberapa format, tergantung pada aplikasinya:
BeautifulSoup4 , lxml , dan numpyAeneas telah dikembangkan dan diuji pada Debian 64bit , dengan Python 2.7 dan Python 3.5 , yang merupakan satu -satunya platform yang didukung saat ini. Namun demikian, Aeneas telah dikonfirmasi untuk bekerja pada distribusi Linux lainnya, Mac OS X, dan Windows. Lihat file platform untuk detailnya.
Jika menginstal Aeneas secara asli pada OS Anda terbukti sulit, Anda sangat dianjurkan untuk menggunakan Aeneas-vagrant, yang menyediakan Aeneas di dalam gambar Debian tervirtualisasi yang berjalan di bawah VirtualBox dan Vagrant, yang dapat diinstal pada OS modern apa pun (Linux, Mac OS X, Windows).
Installer all-in-one tersedia untuk Mac OS X dan Windows, dan skrip bash untuk distribusi Linux berbasis Deb (Debian, Ubuntu) disediakan dalam repositori ini. Dimungkinkan juga untuk mengunduh mesin virtual VirtualBox+Vagrant. Silakan lihat file instal untuk prosedur instalasi yang terperinci, langkah demi langkah untuk sistem operasi yang berbeda.
Prosedur generik OS-independen sederhana:
Instal Python (2.7.x lebih disukai), FFMPEG, dan ESPEAK
Pastikan executable berikut dapat dipanggil dari shell Anda: espeak , ffmpeg , ffprobe , pip , dan python
Pertama -tama pasang numpy dengan pip dan kemudian aeneas (pesanan ini penting):
pip install numpy
pip install aeneasUntuk memeriksa apakah Anda menginstal Aeneas dengan benar, jalankan:
python -m aeneas.diagnosticsJalankan tanpa argumen untuk mendapatkan pesan penggunaan :
python -m aeneas.tools.execute_task
python -m aeneas.tools.execute_jobAnda juga bisa mendapatkan daftar contoh langsung yang dapat Anda jalankan di mesin Anda berkat file yang disertakan:
python -m aeneas.tools.execute_task --examples
python -m aeneas.tools.execute_task --examples-all Untuk menghitung peta Sinkronisasi map.json untuk pasangan ( audio.mp3 , text.txt dalam format teks biasa), Anda dapat menjalankan:
python -m aeneas.tools.execute_task
audio.mp3
text.txt
" task_language=eng|os_task_file_format=json|is_text_type=plain "
map.json (Perintah telah dibagi menjadi baris dengan untuk kejelasan visual; dalam produksi Anda dapat memiliki seluruh perintah pada satu baris dan/atau Anda dapat menggunakan variabel shell.)
Untuk menghitung map.smil peta sinkronisasi.smil untuk pasangan ( audio.mp3 , page.xhtml yang berisi fragmen yang ditandai oleh atribut id seperti f001 ), Anda dapat menjalankan:
python -m aeneas.tools.execute_task
audio.mp3
page.xhtml
" task_language=eng|os_task_file_format=smil|os_task_file_smil_audio_ref=audio.mp3|os_task_file_smil_page_ref=page.xhtml|is_text_type=unparsed|is_text_unparsed_id_regex=f[0-9]+|is_text_unparsed_id_sort=numeric "
map.smilSeperti yang Anda lihat, argumen ketiga ( string konfigurasi ) menentukan parameter yang mengendalikan format I/O dan opsi pemrosesan untuk tugas tersebut. Konsultasikan dokumentasi untuk detailnya.
Jika Anda memiliki beberapa tugas untuk diproses, Anda dapat membuat wadah pekerjaan untuk memprosesnya:
python -m aeneas.tools.execute_job job.zip output_directory File job.zip harus berisi file konfigurasi config.txt atau config.xml , memberikan AENEA dengan semua informasi yang diperlukan untuk menguraikan aset input dan memformat file peta sinkronisasi output. Konsultasikan dokumentasi untuk detailnya.
Dokumentasi berisi tutorial yang sangat disarankan yang menjelaskan cara menggunakan alat baris perintah bawaan.
parsed , plain , subtitles , atau unparsed (XML)mplain dan munparsed (xml)id dan Atribut classffmpegfinetuneas )Sejumlah besar pengguna menjalankan Aeneas untuk menyelaraskan audio dan teks di level kata (yaitu, masing-masing fragmen adalah sebuah kata). Meskipun Aeneas tidak dirancang dengan perataan tingkat kata dalam pikiran dan hasilnya mungkin lebih rendah daripada pelurus paksa berbasis ASR untuk bahasa dengan model ASR yang baik, Aeneas menawarkan beberapa opsi untuk meningkatkan kualitas penyelarasan di tingkat kata:
Jika Anda menggunakan alat baris perintah aeneas.tools.execute_task , Anda dapat menambahkan sakelar --presets-word untuk mengaktifkan masking nonspeech MFCC, misalnya:
$ python -m aeneas.tools.execute_task --example-words --presets-word
$ python -m aeneas.tools.execute_task --example-words-multilevel --presets-word Jika Anda menggunakan Aeneas sebagai perpustakaan, cukup atur parameter RuntimeConfiguration yang sesuai. Silakan lihat tutorial baris perintah untuk detailnya.
Aeneas dirilis berdasarkan ketentuan GNU Affero General Public License versi 3. Lihat file lisensi untuk detailnya.
Lisensi untuk kode dan file pihak ketiga yang termasuk dalam Aeneas dapat ditemukan di direktori lisensi.
Tidak ada hak salinan yang dirugikan dalam pembuatan proyek ini.
Juli 2015 : Michele Gianella dengan murah hati mendukung pengembangan kode penyesuaian batas (v1.0.4)
Agustus 2015 : Michele Gianella sebagian mensponsori pelabuhan kode MFCC/DTW ke C (v1.1.0)
September 2015 : Teman -teman di Afrika Barat sebagian mensponsori pengembangan kode deteksi kepala/ekor (v1.2.0)
Oktober 2015 : Donasi anonim mensponsori pengembangan opsi "YouTube Downloader" (v1.3.0)
April 2016 : The Fruch Foundation dengan ramah mensponsori pengembangan dan dokumentasi v1.5.0
Desember 2016 : The Centro Internazionale del Libro Parta "Adriano Sernagiotto" (Feltre, Italia) sebagian mensponsori pengembangan seri v1.7
Apakah Anda ingin mendukung pengembangan Aeneas ?
Saya menerima sponsor
Jangan ragu untuk menghubungi.
Jika Anda pikir Anda menemukan bug atau Anda memiliki permintaan fitur, silakan gunakan pelacak masalah GitHub untuk mengirimkannya.
Jika Anda ingin mengajukan pertanyaan tentang menggunakan Aeneas , opsi terbaik Anda terdiri dari mengirim email ke milis.
Akhirnya, kontribusi kode dipersilakan! Silakan merujuk ke Panduan Kontribusi Kode untuk detail tentang kebijakan cabang dan gaya kode yang akan diikuti.
Terima kasih banyak kepada Nicola Montecchio , yang menyarankan menggunakan MFCCS dan DTW, dan ikut mengembangkan kode eksperimental pertama untuk menyelaraskan audio dan teks.
Paolo Bertasi , yang mengembangkan aplikasi API dan Web untuk Readbeyond Sync, membantu membentuk struktur paket ini untuk penggunaan asinkronnya.
Chris Hubbard menyiapkan file untuk pengemasan Aeneas sebagai debian/ubuntu .deb .
Daniel Bair menyiapkan formula brew untuk memasang Aeneas dan ketergantungannya pada Mac OS X.
Daniel Bair , Chris Hubbard , dan Richard Margetts mengemas installer untuk Mac OS X dan Windows.
Firat Ozdemir menyumbangkan kode finetuneas HTML/JS untuk fine tuning Sync Maps di browser.
Willem van der Walt menyumbangkan cuplikan kode untuk menampilkan peta sinkronisasi dalam format TextGrid.
Chris Vaughn menyumbangkan pembungkus MacOS TTS.
Semua kontributor GitHub yang perkasa, dan anggota Grup Google.