Audio codec Tokenization SFI filters
Audio codec

SFI-DAC: один neural audio codec для разных token temporal resolutions

3 vs 231 params

Эта статья полезна для audio tokenization: token temporal resolution управляет компромиссом между быстрыми акустическими событиями и длиной последовательности для downstream-моделей. Авторы предлагают не обучать отдельный neural audio codec под каждый TTR, а сделать один DAC-подобный codec, где слои около quantizer генерируют TTR-dependent convolution kernels из общей sampling-frequency-independent параметризации.

Метод. В Descript Audio Codec заменяются только последний convolution encoder и первый transposed convolution decoder вокруг quantizer; сам RVQ quantizer остается неизменным. SFI layer трактует convolution weights как цифровые фильтры, полученные из “latent analog filters”, и генерирует kernel под нужный sampling period token sequence. Для каждого TTR авторы меняют stride и kernel size, но не заводят отдельные веса для каждого режима.

Результаты. Проверка проведена на CochlScene: environmental sound dataset с 13 acoustic scenes, ресемплированный до 16 kHz. Модель поддерживает семь TTR: 13.3, 26.7, 40.0, 53.3, 66.7, 106.7 и 133.3 ms, что соответствует token frame rate от 75.0 до 7.5 Hz. Proposed consistently outperforms naive single-model baseline по mel distance, STFT distance и Zimtohrli score, при этом на каждую пару input-output channels SFI-слой имеет 3 trainable parameters вместо 231 у набора TTR-specific kernels. На больших TTR качество близко к отдельным reference DAC, но на малых TTR gap растет.

Ограничения. Эксперимент сделан на environmental sounds, а не на речи, музыке и downstream speech/audio LM задачах. Численные значения основных quality curves вынесены в Figure 3, поэтому статья дает скорее относительное сравнение, чем удобную таблицу метрик. Главная нерешенная проблема — общий quantizer для всех TTR: авторы прямо отмечают, что он может ограничивать fine-resolution token sequences.

Фишка из статьи. Здесь важно не только “одна модель вместо семи”, а конкретная фильтровая интерпретация TTR: kernel size и stride меняются как параметры дискретизации token-level сигнала.

TTRToken frame rateKernel KStride S
13.3 ms75.0 Hz71
26.7 ms37.5 Hz142
40.0 ms25.0 Hz213
53.3 ms18.8 Hz284
66.7 ms15.0 Hz355
106.7 ms9.4 Hz568
133.3 ms7.5 Hz7010

Как это читать: naive multi-TTR codec фактически хранит сумму kernel sizes, то есть 231 параметр на channel pair только для этих adjacent layers. SFI-вариант хранит 3 параметра latent analog filter и генерирует нужный discrete kernel под TTR, что делает temporal-resolution control ближе к DSP-design задаче, чем к набору независимых нейросетевых слоев.

Оригинальная статья на arXiv