Facebook publikuje kodek audio EnCodec wykorzystujący uczenie maszynowe

Meta/Facebook (zakazany w Federacji Rosyjskiej) wprowadził nowy kodek audio EnCodec, który wykorzystuje metody uczenia maszynowego w celu zwiększenia współczynnika kompresji bez utraty jakości. Kodeka można używać zarówno do strumieniowego przesyłania dźwięku w czasie rzeczywistym, jak i do kodowania w celu późniejszego zapisania w plikach. Implementacja referencyjna EnCodec została napisana w języku Python przy użyciu frameworka PyTorch i jest objęta licencją CC BY-NC 4.0 (Creative Commons Uznanie autorstwa-Użycie niekomercyjne) wyłącznie do użytku niekomercyjnego.

Do pobrania dostępne są dwa gotowe modele:

  • Model przyczynowy wykorzystujący częstotliwość próbkowania 24 kHz, obsługujący wyłącznie dźwięk monofoniczny i trenowany na różnych danych audio (odpowiednich do kodowania mowy). Model może służyć do pakowania danych audio do transmisji z szybkością transmisji 1.5, 3, 6, 12 i 24 kbps.
  • Model nieprzyczynowy wykorzystujący częstotliwość próbkowania 48 kHz, obsługujący dźwięk stereo i trenowany wyłącznie pod kątem muzyki. Model obsługuje przepływności 3, 6, 12 i 24 kbps.

Dla każdego modelu przygotowano dodatkowy model językowy, który pozwala na osiągnięcie znacznego wzrostu stopnia kompresji (nawet do 40%) bez utraty jakości. W przeciwieństwie do wcześniej opracowanych projektów wykorzystujących metody uczenia maszynowego do kompresji dźwięku, EnCodec można wykorzystać nie tylko do pakowania mowy, ale także do kompresji muzyki z częstotliwością próbkowania 48 kHz, odpowiadającą poziomowi płyt audio CD. Według twórców nowego kodeka, podczas transmisji z szybkością transmisji 64 kb/s w porównaniu z formatem MP3, udało im się zwiększyć stopień kompresji dźwięku około dziesięciokrotnie, zachowując ten sam poziom jakości (na przykład podczas korzystania MP3 wymagana jest przepustowość 64 kbps, do transmisji o tej samej jakości w EnCodecu wystarczy 6 kbps).

Architektura kodeka zbudowana jest na sieci neuronowej o architekturze „transformatorowej” i opiera się na czterech łączach: koderze, kwantyzatorze, dekoderze i dyskryminatorze. Koder wyodrębnia parametry danych głosowych i konwertuje upakowany strumień na niższą liczbę klatek na sekundę. Kwantyzator (RVQ, Residual Vector Quantizer) konwertuje strumień wyjściowy przez koder na zestawy pakietów, kompresując informacje w oparciu o wybraną przepływność. Dane wyjściowe kwantyzatora to skompresowana reprezentacja danych, odpowiednia do transmisji przez sieć lub zapisania na dysku.

Dekoder dekoduje skompresowaną reprezentację danych i rekonstruuje pierwotną falę dźwiękową. Dyskryminator poprawia jakość generowanych próbek, uwzględniając model percepcji słuchowej człowieka. Niezależnie od poziomu jakości i przepływności modele służące do kodowania i dekodowania wyróżniają się dość skromnymi wymaganiami zasobowymi (obliczenia niezbędne do pracy w czasie rzeczywistym wykonywane są na jednym rdzeniu procesora).

Facebook publikuje kodek audio EnCodec wykorzystujący uczenie maszynowe


Źródło: opennet.ru

Dodaj komentarz