Facebook menerbitkan codec audio EnCodec menggunakan pembelajaran mesin

Meta/Facebook (dilarang di Federasi Rusia) memperkenalkan codec audio baru, EnCodec, yang menggunakan metode pembelajaran mesin untuk meningkatkan rasio kompresi tanpa kehilangan kualitas. Codec dapat digunakan untuk streaming audio secara real time dan untuk pengkodean untuk kemudian disimpan dalam file. Implementasi referensi EnCodec ditulis dalam Python menggunakan kerangka PyTorch dan dilisensikan di bawah lisensi CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial) hanya untuk penggunaan non-komersial.

Dua model siap pakai ditawarkan untuk diunduh:

  • Model kausal yang menggunakan laju pengambilan sampel 24 kHz, hanya mendukung audio monofonik, dan dilatih pada beragam data audio (cocok untuk pengkodean ucapan). Model ini dapat digunakan untuk mengemas data audio untuk transmisi pada kecepatan bit 1.5, 3, 6, 12 dan 24 kbps.
  • Model non-kausal menggunakan laju pengambilan sampel 48 kHz, mendukung audio stereo dan hanya dilatih tentang musik. Model ini mendukung bitrate 3, 6, 12 dan 24 kbps.

Untuk setiap model, model bahasa tambahan telah disiapkan, yang memungkinkan Anda mencapai peningkatan rasio kompresi yang signifikan (hingga 40%) tanpa kehilangan kualitas. Tidak seperti proyek yang dikembangkan sebelumnya yang menggunakan metode pembelajaran mesin untuk kompresi audio, EnCodec dapat digunakan tidak hanya untuk pengemasan ucapan, tetapi juga untuk kompresi musik dengan kecepatan pengambilan sampel 48 kHz, sesuai dengan level CD audio. Menurut pengembang codec baru, saat mentransmisikan dengan bitrate 64 kbps dibandingkan dengan format MP3, mereka mampu meningkatkan tingkat kompresi audio sekitar sepuluh kali lipat dengan tetap mempertahankan tingkat kualitas yang sama (misalnya, saat menggunakan MP3 diperlukan bandwidth 64 kbps, untuk transmisi dengan kualitas yang sama di EnCodec cukup 6 kbps).

Arsitektur codec dibangun di atas jaringan saraf dengan arsitektur “transformator” dan didasarkan pada empat tautan: encoder, quantizer, decoder, dan diskriminator. Encoder mengekstrak parameter data suara dan mengubah aliran yang dikemas ke kecepatan bingkai yang lebih rendah. Quantizer (RVQ, Residual Vector Quantizer) mengubah keluaran aliran oleh encoder menjadi kumpulan paket, mengompresi informasi berdasarkan bitrate yang dipilih. Output dari quantizer adalah representasi data terkompresi, cocok untuk transmisi melalui jaringan atau disimpan ke disk.

Dekoder menerjemahkan representasi data yang dikompresi dan merekonstruksi gelombang suara asli. Diskriminator meningkatkan kualitas sampel yang dihasilkan, dengan mempertimbangkan model persepsi pendengaran manusia. Terlepas dari tingkat kualitas dan bitrate, model yang digunakan untuk pengkodean dan decoding dibedakan berdasarkan kebutuhan sumber daya yang cukup sederhana (perhitungan yang diperlukan untuk operasi real-time dilakukan pada satu inti CPU).

Facebook menerbitkan codec audio EnCodec menggunakan pembelajaran mesin


Sumber: opennet.ru

Tambah komentar