Во время аудиозвонка часто возникают короткие прерывания, из-за которых речь собеседника кажется прерывистой и неестественной. Google разработала нейросетевой алгоритм, который анализирует последние фрагменты речи и заполняет паузу реалистично синтезированным голосом собеседника. Компания несколько месяцев тестировала эту функцию на смартфонах Pixel 4, а теперь сделает доступной на других моделях, сообщается в блоге Google AI.
Во время аудиозвонка через интернет сигнал может преодолевать множество сетей в разных странах. Это приводит к тому, что даже при качественных алгоритмах сжатия и согласования фрагментов звука в самом сервисе, конечное качество связи у пользователя может быть низким, потому что на одном или нескольких промежуточных узлах часть пакетов теряется.
Эта проблема известна давно, поэтому почти во всех программах применяется тот или иной алгоритм маскировки потери пакетов (PLC). Обычно алгоритм PLC повторяет последний записанный фрагмент или новый звук с базовыми характеристиками фрагмента, и для коротких пауз масштаба 10-20 миллисекунд этот может давать приемлемое качество. Но если потерялось больше пакетов и пауза увеличилась до нескольких десятков миллисекунд, работа алгоритма становится явно заметна.
Разработчики под руководством Ольги Шароновой (Olga Sharonova) из Google и Тома Уолтерса (Tom Walters) из DeepMind создали алгоритм, который способен создавать реалистичную замену утерянным пакетам, даже если пауза длится несколько десятков миллисекунд. Алгоритм основан на нейросети для синтеза звука WaveRNN, созданной разработчиками из этих компаний в 2018 году.
Новый алгоритм WaveNetEQ состоит из двух основных частей: автокодировщика и условной сети. Условная сеть отвечает за сохранения просодии голоса и анализирует спектрограмму последних нескольких сотен миллисекунд перед паузой. Автокодировщик отвечает непосредственно за синтез звука и получает небольшой последний фрагмент в несколько десятков миллисекунд, а также данные от условной сети.
Алгоритм обучен на данных 100 человек, говорящих на 48 разных языках, и потенциально способен работать с другими языками, потому что он смог обучиться общему представлению о звуковой структуре человеческой речи. Авторы отмечают, что из-за временных ограничений алгоритм способен эффективно работать только с отдельными звуками и слогами, а не с целыми словами.
Google сумела адаптировать алгоритм для работы в реальном времени на смартфонах и с декабря тестировала его в Duo на смартфонах Google Pixel 4, а теперь начала распространять его на других устройствах. Авторы опубликовали фрагменты речи, обработанные существующим алгоритмом NetEQ и новым WaveNetEQ:
NetEQ
WaveNetEQ
Потенциально паузы в речи можно было бы заполнять с помощью алгоритма предсказания слова по уже сказанному фрагменту, который применяется в виртуальных клавиатурах, а также персонализированного алгоритма синтеза речи. В конце 2019 года Amazon представила сервис, позволяющий получить нейросетевую модель, говорящую голосом определенного человека.
Григорий Копиев
Что такое опенсорс и почему он важен для IT-индустрии
Наверняка вам доводилось слышать выражение «опенсорс». Может быть, вы даже понимаете, что под этим термином скрывается «программное обеспечение с открытым исходным кодом». Но какие возможности такая открытость дает разработчикам и почему может быть выгодна обыкновенным пользователям? Рассказываем о разработке и значимости опенсорс-проектов.