Skip to content

Latest commit

ย 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Project Beatrice V2 Logo

Project Beatrice V2 Voice Trainer (macOS Edition)

Platform: macOS Python: 3.10+ PyTorch: MPS (Metal) HuggingFace: fierce-cats/beatrice-trainer License: MIT

A high-performance, hardware-aware desktop Web application for training custom real-time voice conversion models using Project Beatrice V2 on macOS (Apple Silicon M1/M2/M3/M4 & Intel Macs). Featuring a modern Cyan Blue minimalist UI, dynamic Light/Dark theme toggle, Single-Choice Dataset Import Selector (Local Drop-Zone, Hugging Face, Kaggle), automated Apple Silicon MPS Hardware Tuning, and direct Google Colab & Kaggle Cloud Launchpad integration.


โœจ Key Features

  • ๐Ÿ’Ž Cyan Blue Minimalist UI & Vector SVGs โ€” Ultra-sleek Linear/Vercel-inspired desktop design system with custom vector SVG icons and sharp typography (Inter, Outfit, JetBrains Mono).
  • ๐ŸŒ“ Light & Dark Mode Theme Switcher โ€” Instant theme switching with persistent user preferences stored in local storage (localStorage).
  • ๐ŸŽฏ Single-Choice Dataset Import Selector โ€” Segmented method picker allowing users to easily choose between Local Audio Upload, Hugging Face Import, or Kaggle Dataset Import.
  • ๐ŸŽ Apple Silicon MPS Hardware Tuning โ€” Deep profiling for Apple M1, M2, M3, M4 (Base, Pro, Max, Ultra) using PyTorch Metal Performance Shaders (MPS) and unified memory allocation.
  • โ˜๏ธ Cloud Training Launchpad โ€” Direct integration of Project-Beatrice-V2/Beatrice-colab with one-click Google Colab (.ipynb) and Kaggle launch buttons and local notebook downloads.
  • ๐Ÿ“ˆ Real-Time Monitoring & Metrics โ€” Live loss plotting on HTML Canvas, stdout logging console, and unified RAM/MPS memory usage gauges.

๐Ÿ–ผ๏ธ Interface Showcase

Beatrice V2 Dashboard Overview
Dashboard Overview โ€” Live hardware monitor, memory allocation gauges, and system diagnostics

Beatrice V2 Dataset Manager
Dataset Manager โ€” Single-choice import selector (Local Audio Drag & Drop, Hugging Face, Kaggle)

Beatrice V2 Training Control
Training Control โ€” Hardware auto-tuning, custom training steps, and live console logger

Cloud Training Launchpad
Cloud Training Launchpad โ€” One-click Google Colab and Kaggle launch cards with local .ipynb downloads


โšก Quick Start

๐Ÿ“‹ Prerequisites

  • Operating System: macOS 12 (Monterey) or newer (macOS 13+ recommended for optimal Metal MPS support).
  • Hardware: Apple Silicon (M1/M2/M3/M4 Base/Pro/Max/Ultra) or Intel Mac.
  • Interpreter: Python 3.10 or newer (python3 --version).

๐Ÿ’ป One-Click Execution

Open Terminal and execute start.sh:

chmod +x start.sh
./start.sh

What the Startup Script Automates:

  1. Creates a local Python virtual environment (venv/).
  2. Installs macOS PyTorch with Apple MPS (Metal) backend support.
  3. Installs backend dependencies (fastapi, uvicorn, python-multipart, aiofiles, huggingface_hub, psutil).
  4. Downloads the core Beatrice Trainer repository from Hugging Face (fierce-cats/beatrice-trainer).
  5. Launches the FastAPI backend server and automatically opens your browser at http://localhost:8000.

๐ŸŽฎ macOS Hardware Auto-Tuning Matrix

When selecting a speaker dataset in the Training tab, the system profiles Apple Silicon unified memory to compute optimal parameters:

Apple Silicon / RAM Unified Memory Budget Batch Size Grad Accum Effective Batch Workers Backend
Max / Ultra (36GB+ RAM) ~32 GB 16 1 16 0 MPS (Metal)
Pro / Max (16GB - 32GB RAM) ~12 - 24 GB 8 2 16 0 MPS (Metal)
Base Chip (8GB - 16GB RAM) ~4 - 12 GB 4 4 16 0 MPS (Metal)
Intel / CPU Fallback System RAM 2 4 8 2 CPU

๐Ÿ“‚ Directory Structure

โ”œโ”€โ”€ assets/                          # App branding and logo assets
โ”‚   โ””โ”€โ”€ logo.jpg                     # Official Project Beatrice V2 Logo
โ”œโ”€โ”€ colab_repo/                      # Cloned Beatrice-Colab repository
โ”‚   โ”œโ”€โ”€ BeatriceV2_Trainer_Notebook_Colab.ipynb
โ”‚   โ””โ”€โ”€ BeatriceV2_Trainer_Notebook_Kaggle.ipynb
โ”œโ”€โ”€ app.js                           # Client-side JavaScript application & UI handlers
โ”œโ”€โ”€ index.html                       # Modern HTML layout & component views
โ”œโ”€โ”€ index.css                        # Cyan Blue Design System & Light/Dark themes
โ”œโ”€โ”€ server.py                        # FastAPI Mac-optimized backend server
โ”œโ”€โ”€ start.sh                         # Automated macOS shell startup script
โ”œโ”€โ”€ requirements.txt                 # Backend Python dependencies
โ”œโ”€โ”€ README.md                        # Product documentation manual
โ””โ”€โ”€ beatrice-trainer/                # Downloaded Hugging Face trainer files

๐ŸŒ API Endpoint Reference

Endpoint Method Description
/api/status GET System health check & backend availability
/api/system/memory GET Live RAM, MPS GPU, and CPU usage metrics
/api/dataset/list GET List available speaker datasets and file counts
/api/dataset/upload POST Upload WAV or ZIP audio files
/api/dataset/import/hf POST Download dataset directly from Hugging Face
/api/dataset/import/kaggle POST Import dataset from Kaggle
/api/train/auto-tune POST Compute optimal training hyperparameters
/api/train/start POST Launch local model training process
/api/train/stop POST Terminate active model training process
/api/models/list GET List trained VST3 paraphernalia voice models

๐Ÿ“„ License

This project is licensed under the MIT License.

About

๐Ÿง  Train Beatrice voice models locally on macOS with an easy-to-use interface, optimized workflows, and high-quality results.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages