SFI-DAC: один neural audio codec для разных token temporal resolutions
Эта статья полезна для 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 сигнала.
| TTR | Token frame rate | Kernel K | Stride S |
|---|---|---|---|
| 13.3 ms | 75.0 Hz | 7 | 1 |
| 26.7 ms | 37.5 Hz | 14 | 2 |
| 40.0 ms | 25.0 Hz | 21 | 3 |
| 53.3 ms | 18.8 Hz | 28 | 4 |
| 66.7 ms | 15.0 Hz | 35 | 5 |
| 106.7 ms | 9.4 Hz | 56 | 8 |
| 133.3 ms | 7.5 Hz | 70 | 10 |
Как это читать: naive multi-TTR codec фактически хранит сумму kernel sizes, то есть 231 параметр на channel pair только для этих adjacent layers. SFI-вариант хранит 3 параметра latent analog filter и генерирует нужный discrete kernel под TTR, что делает temporal-resolution control ближе к DSP-design задаче, чем к набору независимых нейросетевых слоев.