← loudkitCONTENT HISTORY
WHAT CHANGED
Update to loudkit
Snapshot Oct 24, 2026 · 13:35 UTC · version 0.1.0
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save loudkit and check future changes in Following.
Up to 10 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Make a loudkit voice profile from a short recording of a voice the user has the right to use, such as their own, locally and offline. Use when the user wants speech in their own voice, wants to clone or enroll a voice from a recording, or asks how to make a custom voice for loudkit.",
"included_files": [],
"name": "clone-voice",
"skill_md_contents": "---\nname: clone-voice\ndescription: Make a loudkit voice profile from a short recording of a voice the user has the right to use, such as their own, locally and offline. Use when the user wants speech in their own voice, wants to clone or enroll a voice from a recording, or asks how to make a custom voice for loudkit.\n---\n\n# Clone a voice\n\nloudkit turns 5 to 10 seconds of clean speech into a voice profile: a file of\nabout 150 KB that works with both models. Cloning runs on the user's\ncomputer; the recording is not uploaded anywhere.\n\n## Consent comes first\n\nBefore anything else, ask whose voice is in the recording, unless the user has\nalready said. Continue only when it is one of these:\n\n- the user's own voice;\n- a voice whose owner gave the user written permission to clone it. Ask the\n user to confirm that the permission is in writing. Do not ask them to send\n you the document;\n- a recording whose licence allows speech synthesis (for example CC0).\n\nRefuse, and say why, when the request is to:\n\n- impersonate a real person to deceive, defraud or harass;\n- make a public figure say something, unless it is clearly labelled as\n synthetic;\n- get past voice authentication (bank or phone voice ID, for example);\n- clone a voice from a podcast, lecture, video or call without the speaker's\n consent. Public is not consenting.\n\nThe full policy is in the project's\n[RESPONSIBLE_USE.md](https://github.com/loudreader/loudkit/blob/main/RESPONSIBLE_USE.md).\nloudkit cannot check who owns a voice; the user is responsible for that.\n\n## Where you are running\n\n- **Your shell runs on the user's own computer** (Codex CLI, the Codex IDE\n extension or the desktop app on a local project): follow the steps below.\n- **Your shell runs in a cloud environment** (a Codex cloud task or another\n remote container): clone there only if the recording is already in that\n environment and it can reach the internet for the models. Say first that\n cloning runs in that cloud environment, not on the user's computer. Use\n `\"loudkit[onnx,audio,hub]\"`, fetch the cloning graphs with\n `loudkit download loudreader/loudr-1 --for onnx --with-cloning`, and add\n `--device onnx` to `loudkit clone`. Never commit the profile\n or the recording to a repository.\n- **You have no shell** (ChatGPT on the web or a phone): give the user the\n commands from steps 1 to 4 and say they run on their own computer. Do not\n ask them to upload the recording to you for cloning.\n\n## Steps\n\n1. **Install with permission.** Cloning needs the `enroll` extra and fetches\n about 0.5 GB of enrollment models once, in addition to the 0.75 GB\n synthesis model. Ask before you install:\n\n ```bash\n pip install \"loudkit[torch,audio,enroll,hub]\"\n ```\n\n2. **Check the recording.** It must be one local WAV or FLAC file with one\n speaker. 5 to 10 seconds of clean speech without music or noise is right.\n Over 30 seconds is refused, and so are silence and clips under one second.\n - Convert other formats first: `afconvert -f WAVE -d LEI16 in.m4a out.wav`\n on macOS, or `ffmpeg -i in.m4a out.wav`.\n - For a longer recording, ask the user which 5 to 10 seconds to use, or\n cut the cleanest stretch of continuous speech.\n\n3. **Name the language.** Ask which language the voice will speak. It is\n required, and a wrong language makes the voice read text with the wrong\n rules. Use a code such as `en`, `pl`, `de`.\n\n4. **Clone.**\n\n ```bash\n loudkit clone recording.wav --name my-voice --language en\n ```\n\n This writes `voices/my-voice.safetensors` and prints the command that\n speaks with it. Add `--force` only if the user agrees to overwrite an\n existing profile.\n\n5. **Try it.** Render one sentence and let the user listen:\n\n ```bash\n loudkit speak \"This is my voice, made by loudkit.\" --voice voices/my-voice.safetensors -o test.wav --play\n ```\n\n If it sounds wrong, the recording is the usual cause. Suggest another\n 5 to 10 seconds: one speaker, steady level, no background sound.\n\n## After cloning\n\n- The profile reproduces the voice on demand. Treat it like a private key:\n keep it out of public repositories, and do not share a profile of a person\n who has not agreed.\n- Label audio made with it as synthetic when it is published. Do not remove\n the provenance note with `--no-provenance` to hide that.\n- In code, load it with `lk.voice(\"voices/my-voice.safetensors\")` in Python,\n or the `enroll` and `load` calls of the other ports (see the\n `add-offline-tts` skill).\n"
}SHA-256 of public snapshot: c5032a3cf711b3d48315d43b612bf68fcdd99e086fffebdae378d4591b5577ac