Skip to content
Back to skills

Audiocpp Voice Clone

ASecurity

Clone a voice from a user-supplied reference clip and synthesize speech with it, by calling the raw audio.cpp TTS engine with voice_ref/reference_text — fields the built-in GuideAnts audio tools do not expose. Use when the user wants generated speech to sound like their own voice or another consenting speaker's recording.

  • 61 stars
  • 0 votes
  • 0 copies
  • 12 views
  • Added September 29, 2026
ai-agentspythonrustgobashsecurity

Works with

  • cli

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add Elumenotion/GuideAnts --skill audiocpp-voice-clone --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Audiocpp Voice Clone?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Audiocpp Voice Clone
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/elumenotion-audiocpp-voice-clone/badge)](https://www.skillsdirectory.com/skills/elumenotion-audiocpp-voice-clone)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: audiocpp-voice-clone
description: "Clone a voice from a user-supplied reference clip and synthesize speech with it, by calling the raw audio.cpp TTS engine with voice_ref/reference_text — fields the built-in GuideAnts audio tools do not expose. Use when the user wants generated speech to sound like their own voice or another consenting speaker's recording."
metadata:
  guideants:
    enabled: true
    display_order: 31
    requires_toolsets: [sandbox]
---

# audio.cpp voice cloning (experimental)

The GuideAnts TTS wrapper only accepts `{text, voice, speed}`, but the real
`audiocpp_server` engine it spawns (on `127.0.0.1:18084`) accepts a reference
clip for cloning. This skill calls that engine directly. Deliverables are WAV
files in `Output/`; nothing here touches the live phone/voice path.

## Consent rule (read first)

Cloning from a reference clip is a supported, intended use **when the speaker
consents**: the user states the clip is their own voice, or that they have the
speaker's permission. In that case proceed — do not refuse consented cloning as
a "security risk". Decline only when the request is to imitate a third party
without consent (a celebrity, a colleague, a public figure), and say that
consent is the missing piece.

## Preflight

```bash
python3 Skills/audiocpp-voice-clone/scripts/preflight.py --for voice-clone
```

Trust its verdict over this document. `open: false` usually means no TTS model
is loaded — ask the user to load one via GuideAnts Settings → Local models.
A warning about the loaded model's family means `voice_ref` may be rejected;
chatterbox (the `clon`-task catalog model) is the known-good family.

## Cloning

The reference clip must be a file in the workspace (e.g. an attached file like
`user_voice.wav`). Same container filesystem, so the engine reads it by path:

```bash
python3 Skills/audiocpp-voice-clone/scripts/engine_tool.py speech \
  "Text to speak in the cloned voice" \
  -o cloned.wav \
  --voice-ref user_voice.wav \
  [--reference-text "transcript of the reference clip"] \
  [--seed 42]
```

- The engine model id is auto-detected from the wrapper's `/health`
  (`catalogEntryId`); no flag needed.
- `--reference-text` helps families that want the reference transcript.
- `--seed` makes the synthesis reproducible.
- The engine errors loudly on options the loaded family doesn't support —
  surface that error text to the user; it is usually self-explanatory.

## Verifying

Transcribe the result back and check it matches the input text (the ASR engine
at `127.0.0.1:18082` accepts workspace paths):

```bash
python3 Skills/audiocpp-voice-clone/scripts/engine_tool.py transcribe cloned.wav
```

## When this skill isn't enough

- Loaded model rejects `voice_ref` → ask the user to load chatterbox via
  Settings, or use the **audiocpp-deferred-tts** skill (several deferred
  families also clone from reference audio).
- No TTS model loaded at all and the user can't load one → blocked; say so.

## Reporting

End by telling the user what worked and what was blocked, quoting the
preflight/engine evidence, so the experiment log stays honest.

Files in this skill

  • SKILL.md3.1 KB
  • scripts/engine_tool.py6.3 KB
  • scripts/preflight.py11.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.