Большинство статей на конференции Interspeech традиционно представлены академией. В силу ограниченности ресурсов в них нет результатов обучения на действительно больших датасетах или надёжных асессорских замеров. Поэтому их можно рассматривать скорее в качестве источника идей, чем как решения для продакшна. Сегодня разберём несколько таких работ.
LSCodec: Low-Bitrate and Speaker-Decoupled Discrete Speech Codec
Авторы исходят из того, что кодирование в последовательности токенов глобальной, не зависящей от времени информации приводит к её дублированию для каждого таймстемпа и лишней трате capacity. Оптимальнее кодировать только то, что меняется со временем, а остальное передавать отдельно — в виде фиксированного вектора.
В качестве глобальной информации в работе используют тембр голоса спикера. Обучающий сэмпл включает два аудио: таргет и промпт от того же спикера. Перед подачей в энкодер тембр таргета искусственно искажается, а декодеру дополнительно передаются SSL-фичи промпта через position-agnostic cross-attention. Модель учится предсказывать мел-спектрограмму и SSL-семантические токены исходного таргета (до искажения).
В результате выход энкодера не содержит информации о тембре таргета, и декодер учится извлекать её из промпта (а благодаря боттлнеку эта информация не зашивается в токены энкодера). При этом position-agnostic attention предотвращает утечку из промпта остальной, зависящей от времени, информации.
Статья интересна идейно, но использование в качестве глобальной информации только тембра кажется слишком ограничивающим. В списке ссылок приведена работа с ICASSP 2024 с аналогичной мотивацией, но более общим подходом.
Fewer-token Neural Speech Codec with Time-invariant Codes
Архитектура учится end-to-end и состоит из нескольких частей: энкодер и квантайзер для токенов переменной длины; энкодер (с average pooling на последнем слое), квантайзер для фиксированного глобального вектора и совместный декодер.
Чтобы закодировать в глобальном векторе именно не зависящую от времени информацию, добавляется дополнительная компонента лосса. Вычисляется глобальный вектор для другого аудио того же спикера и минимизируется косинусное расстояние между ним (с навешенным stop-gradient) и глобальным вектором таргета.
Towards Bitrate-Efficient and Noise-Robust Speech Coding with Variable Bitrate RVQ
Статья содержит две основные идеи.
Мотивация первой: в токенах можно не кодировать информацию о шуме, тем самым объединив задачи кодирования и enhancement и дополнительно сэкономив capacity.
Модель учится в две стадии. На первой кодек просто обучается на чистых данных. На второй — его учат удалять из токенов данные о шуме, то есть получать одинаковые токены для чистого и шумного аудио. Для этого в энкодер добавляют новый denoising-слой, а во время обучения искусственно зашумляют каждое аудио и добавляют к лоссу дополнительную компоненту: L1-расстояние между входом denoising-слоя для чистого аудио и выходом для шумного.
Вторая идея — адаптивный bitrate в зависимости от количества информации, содержащейся в каждом фрейме аудио. Например, фреймы с голосом можно кодировать более детально, чем фреймы с тишиной. Для этого на выходах энкодера обучается предиктор, возвращающий количество первых RVQ-токенов, которые необходимо просуммировать для данного фрейма. К лоссу добавляется дополнительная компонента — суммарное число предсказанных токенов.
Дарья Петренко