Dalam
artikel sebelumnya, kami membahas codec Opus, yang beroperasi pada bit rate yang sangat rendah. Tetapi codec lain bertujuan untuk mencapai laju bit yang lebih rendah - ini adalah
Codec 2 .
Codec 2 hanya untuk pengkodean ucapan. Dan meskipun bitrate mengesankan, suaranya tidak berkualitas tinggi seperti dalam kasus Opus, yang dapat didengar dalam
contoh audio . Namun, dalam kombinasi dengan jaringan saraf (
WaveNet ), codec menunjukkan
hasil yang mengesankan .
Lapisan jaringan saraf WaveNetPendahuluan
Codec 2 adalah open source dan dirancang untuk pengkodean ucapan. Ini berfokus pada bitrate dari 700 hingga 3200 bps.
Pengembang -
David Rowe , seorang insinyur elektronik yang saat ini tinggal di Australia Selatan. Dia memulai proyek pada bulan September 2009 dengan tujuan meningkatkan komunikasi radio berbiaya rendah untuk orang-orang di daerah terpencil di dunia. Untuk tujuan ini, ia akan mengembangkan codec yang secara signifikan akan mengurangi ukuran file dan persyaratan bandwidth untuk streaming.
Motivasi lain, menurut David, adalah penciptaan codec
bebas paten sebagai alternatif dari codec berpemilik, yang, menurut pendapatnya, "memerlukan lisensi mahal dan canggung dan menghambat inovasi." Dia percaya bahwa Anda dapat melakukannya tanpa codec yang dipatenkan, jadi dia mendistribusikan semua pekerjaan di bawah lisensi gratis.
Aplikasi potensial
Penulis menyebutkan berbagai aplikasi codec, di antaranya VoIP, komunikasi suara melalui pita sempit radio HF / UHF digital (terutama untuk radio amatir, untuk menghindari masalah menggunakan codec berpemilik), komunikasi di negara-negara berkembang dan daerah terpencil, termasuk tentara, polisi, dan layanan penyelamatan .
Di Auphonic, kami tertarik pada potensi penggunaan codec untuk memampatkan podcast, presentasi, dan buku audio yang lebih baik, yang dapat
mengurangi jumlah ruang yang digunakan dan meminimalkan efek
koneksi jaringan yang buruk .
Bagaimana cara kerjanya
Untuk mengurangi bitrate, perlu untuk mengurangi jumlah informasi / data seminimal mungkin, yaitu meminimalkan jumlah informasi yang dikirimkan secara berlebihan.
Untuk ini, Codec 2 menggunakan
pengkodean ucapan sinusoidal harmonik . Dia membagi pidato menjadi segmen 10-30 ms, yang disebut frame. Setiap frame kemudian dianalisis untuk tingkat fundamental (pitch) dan jumlah harmonik yang sesuai dengan bandwidth 4 kHz. Selanjutnya, untuk setiap harmonik dalam kisaran 4 kHz, amplitudo dan fase direkam.
Informasi ini kemudian disandikan, dan decoder mengembalikan suara berdasarkan data ini.
Bagan alur Codec 2: encoder (kiri) dan decoder (kanan). Ilustrasi oleh RowtelContoh audio dan perbandingan dengan codec lain
Meskipun semua ini kedengarannya hebat dalam teori, tetapi apa kenyataannya? Mari kita dengarkan. Berikut ini adalah file suara wav pendek:
intro-orig.wav - 1.3 MBKami menerapkan Codec 2 (tanpa dekoder WaveNet) pada berbagai bitrate yang tersedia:
3200 bps ,
2400 bps ,
1600 bps ,
1200 bps, dan
700 bps .
Contoh-contoh ini menunjukkan pengurangan yang signifikan dalam ukuran file.
Mari kita lihat file dalam hal
volumenya untuk menyimpan 1 jam suara :
- Pada 3200 bps, satu jam suara hanya membutuhkan 1,37 MB (cocok untuk satu floppy disk lama 3 ½ inci!)
- Bitrate 2400 bps sesuai dengan 1,03 MB / jam
- Kecepatan bit 1600 bps adalah 0,68 MB / jam (atau sekitar dua jam suara pada satu disket! )
- 1200 bps - hingga 0,51 MB / jam
- 700 bps - hingga 0,3 MB / jam
Kompresinya sangat kuat, tetapi hasilnya jelas terdengar tidak wajar.
Sebagai perbandingan, suara yang sama ada di
MP3 pada 8 Kbps .
Ukuran file secara signifikan lebih besar daripada Codec 2, dan kualitasnya mungkin masih tidak dapat diterima. Anda dapat mendengar dengan baik apa yang kadang-kadang disebut sizzle - suara logam aneh yang melekat pada MP3 berkualitas rendah.
Ada codec terakhir untuk dibandingkan. Tampaknya itu menyatukan kedua dunia, yaitu memberikan kualitas yang dapat diterima dengan bitrate rendah:
Opus .
Berkat kinerjanya yang menarik dengan bit rate yang rendah, Auphonic telah menawarkan kepada pengguna Opus pengkodean hingga 6 Kbps, bit rate terendah yang didukung codec.
Pada 6 kbps, codec Opus tampaknya jauh lebih baik daripada MP3 8 kbps. Suara itu sedikit teredam, tetapi
masih terdengar alami .
Kembali ke Codec 2, demi minat, mari dengarkan bagaimana ia
menyandikan musik ! (Perlu diingat bahwa Codec 2 tidak dimaksudkan untuk penyandian musik, tetapi hanya untuk pidato).
File sumberMP3 8 kbpsSecara pribadi, saya tidak bisa mendengarkan MP3 dengan kecepatan bit seperti itu, jadi mari kita lihat hasil Codec 2! Jadi,
3200 bps ,
2400 bps ,
1600 bps ,
1200 bps ,
700 bps .
Mudah dipahami bahwa untuk tujuan ini sama sekali tidak cocok!
Codec 2 dan WaveNet
Seperti yang sudah kita dengar, meskipun kompresi mengesankan, hasilnya bukan suara yang sangat alami.
Namun di sini masalahnya menjadi lebih menarik jika Anda melihat karya Bastian Klein dari Perpustakaan Universitas Cornell. Dia menggunakan Codec 2 pada bitrate 2400 bps untuk encoding, tetapi
menggantikan decoder Codec 2 dengan model pembelajaran mendalam WaveNet generatif (lihat artikel
“Encoding Bitrate Rendah Berbasis Wavenet” untuk informasi lebih lanjut).
Berikut ini beberapa contoh dari
penulis :
Suara laki-lakiFile sumberCodec 2Dengan WaveNet DecoderSuara perempuanFile sumberCodec 2Dengan WaveNet DecoderDibandingkan dengan Codec 2, kami mendengar
peningkatan kualitas yang signifikan , dan bila dibandingkan dengan aslinya, tidak ada penurunan kualitas yang signifikan.
David Rowe sendiri mengatakan bahwa ia menganggap hasilnya
"peningkatan dramatis dalam pengkodean ucapan pada tingkat bit rendah" dan "codec pidato pita lebar 8000 bit / s yang bagus."
Kesimpulan
Meskipun codec (asli) Codec 2 adalah pekerjaan yang sangat menarik, cakupannya terbatas dan hasil akhirnya tidak cocok untuk podcasting. Juga jelas dari contoh audio bahwa itu dapat digunakan untuk mengompres hanya suara, tetapi bukan musik.
Namun demikian, Codec 2 dalam kombinasi dengan
dekoder WaveNet secara signifikan meningkatkan kualitas, dan laju bit rendah (2400 bps) akan sangat menarik untuk
distribusi podcast dan buku audio : hanya
1,03 MB ruang
yang diperlukan untuk
satu jam suara !
Auphonic akan menambahkan dukungan Codec 2 ke
file output ketika decoder WaveNet muncul dalam bentuk yang dapat digunakan. Sejauh ini kami telah menambahkan
dukungan untuk Codec 2 hanya untuk file input .