Преамбула:
Как-то раз мы обсуждали, что по сути когда мы генерим что-то с TTS системой, мы не должны ожидать, что речь будет похожа на исходную. Например, если у вас речь в большой комнате, то сгенерированная скорее всего не будет звучать с эхо эффектом. Это ведет наше повествование в две ветви:
- audio language models - про них еще поговорим и говорили
тут и
тут и
почти тут
- а как мы мерить будем качество?
- а что мы вообще хотим?
Если с тем, что хотим, мы разобрались - губу закатали и просто хотим приятную речь, то вот с сравнением нужно быть осторожнее. Например, если вы не берете MOS (
для экспериментов это), то вы можете сравнить спектрограммы. Но тут способов облажаться дохрена: alignment, speaker conditions, length, audio power, но допустим вы удовлетворили все условия, какой-нибудь максимально наивный MSE будет очень высоким, как раз из-за "спецэффектов".
Так сижу я и атакую одну FAD систему, получается хреново. В рамках FAD это значит, что система работает и распознает мои записи как сгенерированные. Чтобы ее обмануть я могу:
- улучшить TTS
- улучшить voice conversion
- понять, а в чем еще сорс и мои записи различаются (?)
И тут нам везет, ведь работать мы можем в две стороны:
(грязный - с спецэффектам, чистый - без спецэффектов только речь)
Изначально у меня: грязный source VS чистый generated
И я могу:
- почистить source и будет: чистый source VS чистый generated
- загрязнить generated и будет: грязный source VS грязный generated
Почистить можно с demucs, speech enhancement, speech restoration. А вот загрязнить можно с аугментациями, про них я писала в этом
посте.
Но грязнить мы должны ВСЕГДА по умному, тупые аугментации для умных сеток - время обучения на ветер. Поэтому буду пытаться воссоздать setting исходных записей. Для этого я буду использовать библиотеку от spotify pedalboard.