MeloCodec: мелодические priors для кодека певческого голоса
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 kbps | ViSQOL | STOI | F0-RMSE | Chroma-Sim | SPK-SIM |
|---|---|---|---|---|---|
| Acoustic-only | 3.05 | 0.71 | 4.12 | 0.84 | 0.91 |
| + Auxiliary Loss | 3.25 | 0.75 | 2.10 | 0.91 | 0.93 |
| Direct Fusion | 2.34 | 0.58 | 5.95 | 0.81 | 0.85 |
| Tokenize-then-Fuse | 3.38 | 0.78 | 1.64 | 0.95 | 0.94 |
Как это читать: melody supervision сама по себе снижает F0-RMSE, но direct fusion создает конфликт между акустикой и мелодией. Дискретный melodic prior работает как более устойчивый filterbank-like контроль структуры при сильном сжатии.