--- title: xVibePocketTTS emoji: 🪆 colorFrom: red colorTo: blue sdk: gradio sdk_version: 6.10.0 app_file: app.py pinned: false models: - ruaccent/accentuator --- # xVibePocketTTS — ZeroGPU demo Public demo of the Russian Pocket TTS step80000 checkpoint. The Space provides three built-in voices and optional zero-shot voice cloning from an uploaded recording. RUAccent runs before synthesis. When a reference is uploaded or recorded, it takes priority over the selected built-in voice. Telegram автора: t.me/xVibeNot The model weights, tokenizer, and built-in model-specific voice states are stored in the private `Brakanier/pocket-tts-ru-private` model repository. The public Space accesses them through its `HF_TOKEN` secret. Source WAV recordings are not included, exposed in the UI, or needed at runtime. The automatic accentizer runs on CPU. The UI shows stress as a plus before the stressed vowel (`з+амок`, `зам+ок`), and users can use the same notation to override RUAccent. Immediately before inference, the app converts these marks to the canonical combining acute form used during training. Because `ё` is inherently stressed, the app removes redundant `+ё` and `ё́` marks. ## Public Space contents The public repository contains the Gradio app, model architecture config, and vendored Python wheels. It does not contain: - `model/model.safetensors` - `model/tokenizer.model` - `model/tokenizer.vocab` - `voices/*.safetensors` At runtime, `private_assets.py` resolves missing assets to the private model repository. The default revision is pinned to an immutable private-repository commit SHA. ## Deploy the public ZeroGPU Space ```bash hf repos create Brakanier/xVibePocketTTS \ --type space --sdk gradio --flavor zero-a10g --public hf upload Brakanier/xVibePocketTTS ./hf_space \ --type space \ --exclude "model/model.safetensors" --exclude "model/tokenizer.*" \ --exclude "voices/**" --exclude "ruaccent_data/**" --exclude "**/__pycache__/**" \ --commit-message "Deploy public Pocket TTS RU ZeroGPU demo" ``` Add `HF_TOKEN` as a Space secret with read access to the private model repository. ## Local CPU launch From this directory, after installing `requirements.txt`: ```bash POCKET_TTS_DEVICE=cpu python app.py ``` The ZeroGPU deployment uses `POCKET_TTS_DEVICE=cuda` by default. Local launch automatically uses the model files already present under `model/` and `voices/`. The vendored RUAccent wheel was built from commit `3ac0ad5f6508f6c1a4a604220042232c70a7baf9`; it downloads only the resources needed by the `turbo3.1` pipeline from the pinned model revision on first startup.