Forwarded from Machinelearning
Wavehax - нейросетевой вокодер, который синтезирует аудиосигналы без искажений, вызванных наложением частот. Эта проблема часто возникает в моделях, работающих во временной области, где нелинейные операции и слои повышения дискретизации могут привести к наложению высокочастотных компонентов на низкочастотный диапазон.
Wavehax работает в частотно-временной области, оценивая комплексные спектрограммы и преобразуя их во временные сигналы с помощью кратковременного преобразования Фурье (STFT). Использование STFT позволяет получать более высокое качество синтезированной речи, особенно при экстраполяции на высокие значения основной частоты (F0).
Архитектура Wavehax построена на 2D CNN и специальном гармоническом априоре. Априор представляет собой комплексную спектрограмму, полученную из гармонического сигнала, который помогает модели генерировать высококачественные и согласованные по фазе гармонические компоненты.
В экспериментах, проведённых на корпусе японской речи JVS, Wavehax продемонстрировал качество речи, сравнимое с HiFi-GAN V1, при этом значительно сократив количество операций умножения-накопления и параметров модели.
Wavehax работает в 4 раза быстрее HiFi-GAN V1 на CPU и устойчив к экстраполяции на высокие значения F0, где эффект наложения частот становится особенно заметным.
# Set up the env
cd wavehax
pip install -e .
# Extract F0 and mel-spectrogram.
wavehax-extract-features audio=data/scp/jvs_all.scp
# Compute statistics of the training data
wavehax-compute-statistics feats=data/scp/train_no_dev.list stats=data/stats/train_no_dev.joblib
# Train the vocoder model
wavehax-train generator=wavehax discriminator=univnet train=wavehax train.train_max_steps=500000 data=jvs out_dir=exp/wavehax
# Inference via generate speech waveforms
wavehax-decode generator=wavehax data=jvs out_dir=exp/wavehax ckpt_steps=500000
@ai_machinelearning_big_data
#AI #ML #Vocoder #Wavehax
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM