Train high-fidelity, real-time voice conversion models using Beatrice V2 on Google Colab or Kaggle.
Project Beatrice V2 Trainer is a streamlined workspace containing Jupyter notebooks optimized for training custom voice conversion models. It automates the preparation of datasets, configures training parameters using a visual UI, monitors training via TensorBoard, and packages your trained models into VST3 Paraphernalia format for real-time inference.
- 🚀 Dual-Platform Support: Ready-to-go notebooks for both Google Colab (with Google Drive integration) and Kaggle (utilizing local persistence).
- 📂 Automated Dataset Setup:
- Option A: Download directly from Hugging Face (supports standard audio datasets, raw repositories, and zipped archives).
- Option B: Upload your own WAV files (manually or via ZIP).
- 🎨 Settings UI: Interactive Gradio/Colab-easy-ui interface to easily tune hyperparameters before launching the trainer.
- 📈 Real-Time Monitoring: Launch TensorBoard with a single click to track loss curves and audio fidelity.
- 🔄 Smart Resuming: Automatically detects the latest checkpoint (
checkpoint_latest.pt.gz) to resume training if interrupted. - 📦 VST3 Paraphernalia Exporter: Packages the final weights and config into the exact structure required by Beatrice VST3 real-time voice conversion plugins.
- Colab: Mounts your Google Drive under
/content/drive/MyDrive/Beatrice_Trainerto keep your datasets and checkpoints secure and persistent. - Kaggle: Sets up directory structure under
/kaggle/workingto maximize disk throughput. - Clones the official high-performance Beatrice training repository.
Ensure your audio files are in WAV format. We recommend high-quality, dry (no reverb), noise-free voice recordings.
- Hugging Face: Input a repo ID (e.g.,
meoconxinhxan/trump-speech-dataset-tts) and speaker name. The notebook automatically extracts and downsamples the audio. - Manual Upload: Upload a
.zipcontaining your.wavfiles, or upload them individually.
Run the Settings UI cell to launch an interactive panel. Here you can configure:
- Extraction path and dataset mapping.
- Audio backend configurations.
- GPU accelerator verification.
Runs TensorBoard in the background and tunnels the port so you can visualize the training losses and generator metrics in real-time.
Configure your target step count, batch size, learning rate, and worker threads:
training_steps = 5000
batch_size = 8
learning_rate = 0.00005Resuming is enabled by default—if the connection drops, simply run the cell again to pick up where you left off.
When training completes, choose your download format:
- VST3 Paraphernalia (Recommended): Tiny ZIP containing only the essential metadata and checkpoint weights formatted for the VST3 voice changer plugin.
- Latest Checkpoint (.pt.gz): The raw PyTorch archive containing generator and discriminator states for further training.
- Entire Output Folder: Zips everything including intermediate training outputs.
Unlike Google Colab, Kaggle's environment runs behind a secure firewall and has different file import/download mechanisms. If you are training on Kaggle, please note the following manual steps:
-
Activate GPU Accelerator:
- In the right-hand panel of your Kaggle notebook under Notebook Options, set Accelerator to GPU T4 x2 or GPU P100.
-
Dataset Import (Option 2b):
- Kaggle does not support interactive file uploading dialogs.
- To use your own voice/dataset:
- Click + Add Input in the right-hand sidebar.
- Upload your ZIP or WAV files as a new Kaggle Dataset.
- Copy the dataset path (e.g.,
/kaggle/input/your-dataset-name) and paste it into thekaggle_dataset_pathvariable in the notebook cell.
-
Gradio/Settings UI Network Tunneling:
- Because Kaggle blocks local network ports, the Settings UI cell will run locally but cannot be accessed directly via localhost links.
- Note: You can skip the Settings UI cell entirely (the training script automatically uses optimal defaults), or configure an SSH/HTTPS tunnel (like
ngrokorlocaltunnel) mapped to the printed local port.
-
Downloading Outputs:
- Rather than triggering automatic browser downloads, Kaggle will generate a downloadable link via Jupyter
FileLinkin the cell output. - Click the link generated in Step 6 of the notebook to download your VST3 compatibility ZIP file.
- Alternative (Manual Download): You can also find your zipped outputs and checkpoints directly in the right-hand "Data" / "Output" sidebar under the
/kaggle/workingdirectory. Click the three dots next to the file (e.g.,beatrice_vst3_files.zip) and choose Download.
- Rather than triggering automatic browser downloads, Kaggle will generate a downloadable link via Jupyter
- GPU Acceleration: Beatrice V2 requires a GPU to train efficiently.
- On Google Colab, ensure your runtime type is set to T4 GPU or better.
- On Kaggle, enable GPU T4 x2 or P100 under the Settings panel.
- Google Drive Storage: Make sure you have at least 1-2 GB of free space on Google Drive for checkpoints if training on Colab.
Contributions to improve dataset parsing, ui layouts, or training recipes are always welcome! Feel free to fork the repository and submit a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.
