license: mit
pipeline_tag: text-to-speech
DMOSpeech 2: Reinforcement Learning for Duration Prediction in Metric-Optimized Speech Synthesis
Diffusion-based text-to-speech (TTS) systems have made remarkable progress in zero-shot speech synthesis, yet optimizing all components for perceptual metrics remains challenging. Prior work with DMOSpeech demonstrated direct metric optimization for speech generation components, but duration prediction remained unoptimized. This paper presents DMOSpeech 2, which extends metric optimization to the duration predictor through a reinforcement learning approach. The proposed system implements a novel duration policy framework using group relative preference optimization (GRPO) with speaker similarity and word error rate as reward signals. By optimizing this previously unoptimized component, DMOSpeech 2 creates a more complete metric-optimized synthesis pipeline. Additionally, this paper introduces teacher-guided sampling, a hybrid approach leveraging a teacher model for initial denoising steps before transitioning to the student model, significantly improving output diversity while maintaining efficiency. Comprehensive evaluations demonstrate superior performance across all metrics compared to previous systems, while reducing sampling steps by half without quality degradation. These advances represent a significant step toward speech synthesis systems with metric optimization across multiple components.
This model was presented in the paper DMOSpeech 2: Reinforcement Learning for Duration Prediction in Metric-Optimized Speech Synthesis.
For more details, visit the project page or the GitHub repository.
Inference
To use the DMOSpeech 2 model, follow the steps below, adapted from the official GitHub repository.
Pre-requisites
- Clone the repository:
git clone https://github.com/yl4579/DMOSpeech2.git cd DMOSpeech2 - Set up environment and install packages:
conda create -n dmo2 python=3.10 conda activate dmo2 pip install -r requirements.txt
Download Checkpoints
Download the pre-trained model checkpoints from Hugging Face to a ckpts folder in your cloned repository:
mkdir ckpts
cd ckpts
wget https://huggingface.co/yl4579/DMOSpeech2/resolve/main/model_85000.pt
wget https://huggingface.co/yl4579/DMOSpeech2/resolve/main/model_1500.pt
Run Inference
You can run the inference and explore various synthesis schemes using the provided demo.ipynb notebook in the GitHub repository.
Refer to src/demo.ipynb in the DMOSpeech 2 GitHub repository for detailed code examples and usage.