Tool-ASR-Generate / README.md
sobonphon's picture
Update README.md
c9fb504 verified
|
Raw
History Blame Contribute Delete
1.97 kB
metadata
title: Tool ASR Generate OmniVoice
emoji: 🌍
colorFrom: purple
colorTo: gray
sdk: gradio
sdk_version: 6.22.0
python_version: '3.12'
app_file: app.py
pinned: false

Tool ASR Generate

Batch text-to-speech using k2-fsa/OmniVoice on a CPU-only Space, focused on πŸ‡°πŸ‡­ Khmer and πŸ‡¬πŸ‡§ English (OmniVoice itself supports 600+ languages).

Upload a CSV / JSON / XLSX file with a text column, set an optional reference voice and generation settings in the sidebar, click Generate All, and download a ZIP with every generated .wav plus a metadata.csv / metadata.json manifest β€” ready to push to a Hugging Face Dataset repo. A preview of the first 10 generated rows (text + playable audio) shows up right after generation.

Each row is auto-detected as English or Khmer (from the script), or set explicitly with a language column β€” this is only used to label the output metadata. Generation itself uses one shared reference voice (or voice-design instruction) for every row, unless a row sets its own voice_description.

Voice control comes from OmniVoice's two generation modes:

  • Voice cloning β€” upload a 3–10s reference clip (+ optional transcript, auto-transcribed with Whisper if omitted) in the sidebar to clone that voice across every row.
  • Voice design β€” set a per-row voice_description (e.g. "female, low pitch, british accent") to describe the voice via attributes instead; this overrides cloning for that row.
  • If neither is set, OmniVoice picks a voice automatically ("auto voice" mode).

⚠️ CPU hardware will generate speech more slowly than GPU β€” plan batch sizes accordingly, or upgrade the Space's hardware tier if you need faster throughput. You can trade quality for speed with the "Diffusion steps" slider (fewer steps = faster, lower quality).

See sample_input.csv for the expected input format (includes example Khmer and English rows).