Codec 2 + jaringan saraf = seluruh podcast pada satu disket

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 WaveNet

Pendahuluan


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 Rowtel

Contoh 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 MB

Kami 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 sumber
MP3 8 kbps

Secara 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-laki
File sumber
Codec 2
Dengan WaveNet Decoder

Suara perempuan
File sumber
Codec 2
Dengan WaveNet Decoder

Dibandingkan 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 .

Source: https://habr.com/ru/post/id415557/


All Articles