Firma Google opublikowała kodek audio Lyra do transmisji mowy przy niskiej jakości połączenia

Google wprowadziło nowy kodek audio Lyra, zoptymalizowany pod kątem osiągnięcia maksymalnej jakości głosu nawet przy korzystaniu z bardzo wolnych kanałów komunikacji. Kod implementacyjny Lyry napisany jest w języku C++ i otwarty na licencji Apache 2.0, jednak wśród zależności wymaganych do działania znajduje się autorska biblioteka libsparse_inference.so z implementacją jądra do obliczeń matematycznych. Należy zauważyć, że autorska biblioteka ma charakter tymczasowy – w przyszłości Google obiecuje opracować otwarty zamiennik i zapewnić wsparcie dla różnych platform.

Pod względem jakości przesyłanych danych głosowych przy małych prędkościach Lyra znacząco przewyższa tradycyjne kodeki wykorzystujące metody cyfrowego przetwarzania sygnału. Aby osiągnąć wysoką jakość transmisji głosu w warunkach ograniczonej ilości przesyłanych informacji, oprócz konwencjonalnych metod kompresji dźwięku i konwersji sygnału, Lyra wykorzystuje model mowy oparty na systemie uczenia maszynowego, który pozwala na odtworzenie brakujących informacji na podstawie typowe cechy mowy. Model wykorzystany do generowania dźwięku został wytrenowany na podstawie kilku tysięcy godzin nagrań głosowych w ponad 70 językach.

Firma Google opublikowała kodek audio Lyra do transmisji mowy przy niskiej jakości połączenia

Kodek składa się z kodera i dekodera. Algorytm kodera sprowadza się do wydobywania parametrów danych głosowych co 40 milisekund, kompresowania ich i przesyłania do odbiorcy poprzez sieć. Do transmisji danych wystarczający jest kanał komunikacyjny o szybkości 3 kilobitów na sekundę. Wyodrębnione parametry audio obejmują logarytmiczne spektrogramy mel, które uwzględniają charakterystykę energetyczną mowy w różnych zakresach częstotliwości i są przygotowane z uwzględnieniem modelu percepcji słuchowej człowieka.

Firma Google opublikowała kodek audio Lyra do transmisji mowy przy niskiej jakości połączenia

Dekoder wykorzystuje model generatywny, który na podstawie przesłanych parametrów audio odtwarza sygnał mowy. Aby zmniejszyć złożoność obliczeń, zastosowano lekki model oparty na rekurencyjnej sieci neuronowej, będący odmianą modelu syntezy mowy WaveRNN, który wykorzystuje niższą częstotliwość próbkowania, ale generuje kilka sygnałów równolegle w różnych zakresach częstotliwości. Powstałe sygnały są następnie nakładane w celu wytworzenia pojedynczego sygnału wyjściowego odpowiadającego określonej częstotliwości próbkowania.

Do akceleracji wykorzystywane są także specjalistyczne instrukcje procesorowe dostępne w 64-bitowych procesorach ARM. Dzięki temu, pomimo wykorzystania uczenia maszynowego, kodek Lyra może być wykorzystany do kodowania i dekodowania mowy w czasie rzeczywistym na smartfonach średniej klasy, wykazując opóźnienie transmisji sygnału na poziomie 90 milisekund.

Źródło: opennet.ru

Dodaj komentarz