ArchiveAI-TTS / README.md
billingsmoore's picture
Add advanced voice setting controls (stability, similarity boost, style)
794b80f
|
Raw
History Blame Contribute Delete
3.5 kB
metadata
title: ArchiveAI TTS
emoji: πŸ”Š
colorFrom: blue
colorTo: indigo
sdk: docker
python_version: '3.11'
app_port: 7860
pinned: false

ArchiveAI TTS

A Gradio app for generating interpreter audio via ElevenLabs. Its main purpose is Turn Review: the human-editor adjustments step in the July Launch content pipeline, where AI-drafted interpreter turns are checked, tweaked, and approved before they go into the final video. It also has a Quick Synthesize mode for ad-hoc synthesis of a full subtitle file or block of text.

Turn Review (production workflow)

  1. Upload the chunk's turns.json (speaker-turn plan) and its translated VTT (*_en_pe.vtt), or paste public Google Drive links to each and click Load from Drive links.
  2. Each turn appears as its own card β€” timestamp range, the pipeline's rationale for placing the turn there, and an editable text box seeded with the translated captions in that window.
  3. Adjust Model, Speed, Comma Pause, and Period Pause as needed (these apply to every turn you generate). Comma Pause sets the medium-phrase tier; short phrases get half that pause and long clauses get 1.5x, matching the pipeline's validated pause scaling. The Advanced voice settings accordion also exposes ElevenLabs' Stability, Similarity Boost, and Style directly β€” the defaults there are the production-validated values, and changing them is not recommended unless you're deliberately A/B testing voice quality.
  4. Click Generate on a turn to synthesize it β€” this calls ElevenLabs' with-timestamps endpoint and splices real room-tone pauses (sampled from the clip's own quiet audio) after commas and periods, the same pause-insertion approach used in production.
  5. Listen and download the result. Turns flagged mantra-only are pure recitation with no English content and don't need interpreter audio β€” generation is skipped for those.

This tab does not write back into the pipeline's output folders; download the approved MP3s and place them manually.

Quick Synthesize

Upload a full SRT/VTT/TXT file or paste text directly, adjust prose/mantra speed, and synthesize the whole thing in one pass. No turn windowing, no pause insertion β€” useful for quick listening tests, not for production turns.

Glossary

Use the Glossary tab to teach the engine how to pronounce words it gets wrong (Tibetan names, Sanskrit terms, etc). Enter a word and a plain-English respelling β€” no IPA needed.

Example: Garchen β†’ gar-chen, Dharmakaya β†’ Darmakaya

Entries are stored in the tts-glossary HuggingFace dataset (see GLOSSARY_DATASET_REPO below), so they persist across Space rebuilds and are shared across everyone using the Space β€” unlike a per-instance local file. The glossary starts seeded with the aspirated-digraph fixes already validated in the July Launch content pipeline (e.g. Dharmakaya β†’ Darmakaya, Phagmo β†’ Pagmo); anyone can add to it or remove entries from the tab.

Configuration (Space secrets / variables)

Name Required Purpose
ELEVENLABS_API_KEY Yes ElevenLabs synthesis calls.
HF_TOKEN Yes, to save/remove glossary entries Write access to the tts-glossary dataset repo. Reads fall back to a local cache (or built-in defaults) without it.
GLOSSARY_DATASET_REPO No Overrides the glossary dataset repo id. Defaults to GarchenArchive/tts-glossary.