Кодек Пение Мелодия
Аудиокодеки

MeloCodec: мелодические priors для кодека певческого голоса

1.5 kbps

MeloCodec интересен как аудиокодек для певческого голоса, где обычное сжатие хорошо восстанавливает тембр, но часто портит высоту и мелодический контур. Авторы добавляют явный мелодический prior: не пытаются заставить акустический latent сам выучить все про pitch, а отдельно токенизируют chromagram и затем аккуратно сливают его с акустической веткой. Это близко к речевым кодекам и audio tokenization, но с более жестким музыкальным ограничением.

Метод. Мелодическая ветка строит chromagram через STFT и проекцию в 12 pitch classes, кодирует его сверточным энкодером и квантует через RVQ. Обучение идет в два этапа. На первом тренируется только melody codec, чтобы кодовая книга стабилизировала pitch transitions. На втором акустический codec и melody tokens объединяются по схеме Tokenize-then-Fuse; это отличается от простой direct fusion, где мелодические признаки смешиваются до квантизации и могут быть подавлены акустическим потоком.

Результаты. На OpenCPOP в high bitrate около 6.0 kbps MeloCodec получает ViSQOL 4.08, STOI 0.85, F0-RMSE 0.96, Chroma-Sim 0.97 и SPK-SIM 0.99. На low bitrate около 1.5 kbps преимущество сильнее: ViSQOL 3.38, STOI 0.78 и F0-RMSE 1.64 против 3.05/0.71/4.12 у DAC и 2.62/0.57/2.68 у MuCodec. В pitch-shifting тесте MeloCodec держит Target F0-Corr 0.72 при +/-2 semitones и 0.70 при +/-4, тогда как direct fusion падает до 0.40 и 0.27.

Ограничения. Это работа про singing voice, поэтому перенос на обычную речь не прямой. Обучающие данные внутренние, а заявленный bitrate считается по акустическим codebook, тогда как melodic tokens используются как priors. Субъективная MUSHRA-картина согласуется с объективными метриками, но детали размера прослушивания и доменного разнообразия ограничены.

Фишка из статьи. Абляция хорошо показывает, что простая дополнительная melody loss помогает, но не решает задачу. Direct fusion вообще деградирует при низком bitrate, а стабильность дает именно сначала токенизация мелодии, потом слияние.

Метод, 1.5 kbpsViSQOLSTOIF0-RMSEChroma-SimSPK-SIM
Acoustic-only3.050.714.120.840.91
+ Auxiliary Loss3.250.752.100.910.93
Direct Fusion2.340.585.950.810.85
Tokenize-then-Fuse3.380.781.640.950.94

Как это читать: melody supervision сама по себе снижает F0-RMSE, но direct fusion создает конфликт между акустикой и мелодией. Дискретный melodic prior работает как более устойчивый filterbank-like контроль структуры при сильном сжатии.

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