| name | voice-dna-extract |
| description | Extract voice DNA from video/audio/YouTube, run identity A/B, and freeze versioned locks (Speaker-1, Speaker-2). Local-first; no personal samples bundled. Part of Voice DNA Studio by Navid Taheri / Navid AI ToolBox. |
Voice DNA Extract (public skill)
Use this skill when the user wants to:
- pull a clean clone reference from a video, recording, or YouTube URL
- A/B refs x Chatterbox params for identity stickiness
- freeze a versioned lock (
Name-1) without overwriting prior locks
Repo / package
This skill assumes the Voice DNA Studio repo is available:
voice-dna-studio/
voice_dna_studio/ # python -m voice_dna_studio ...
Set VOICE_DNA_ROOT to the repo path, or cd there before commands.
Hard rules
- Never commit real DNA audio.
- Never overwrite
voices/<slug>/<Name-N>/ - bump version instead.
- Prefer soft HP + peak norm; avoid heavy loudnorm as default.
- Primary DNA window ~10-16 s pure single-speaker speech.
- No personal absolute paths in docs or defaults.
Workflow
1) Extract
cd "$VOICE_DNA_ROOT"
source .venv/Scripts/activate
python -m voice_dna_studio extract \
--input "/path/to/source.mp4" \
--out "workspace/kits/<job_id>"
python -m voice_dna_studio extract \
--youtube "https://www.youtube.com/watch?v=ID" \
--out "workspace/kits/<job_id>"
Primary ref: workspace/kits/<job_id>/ref/ref_dna_primary.wav
Meta: DNA_META.json
2) A/B (before long jobs)
python -m voice_dna_studio ab \
--ref workspace/kits/<job_id>/ref/ref_dna_primary.wav \
--ref workspace/kits/<job_id>/ref/ref_dna_10s.wav \
--out workspace/ab/<job_id> \
--line "Short neutral line in the target language and tone."
Read ranking.csv, listen top takes, pick params.
3) Lock
python -m voice_dna_studio lock \
--voices-root workspace/voices \
--slug <speaker_slug> \
--name <Speaker-1> \
--ref workspace/kits/<job_id>/ref/ref_dna_primary.wav \
--exaggeration 0.36 \
--cfg-weight 0.62 \
--temperature 0.58 \
--notes "optional free text, no PII required"
Deliverables to report
- path to primary DNA WAV
- density / start_sec from meta
- top A/B tags + params
- lock folder path + ACTIVE pointer
Anti-patterns
- Shipping generic "female/male" knobs as final without A/B when identity was demanded
- Overwriting locks
- Putting user home directories or private sample names into the public skill text