voice
Skill8 starsChanged 4 days agoMITView on GitHub
Turn text, scripts and documents into natural speech, clone the user's own voice, or transcribe recordings, with Voice by Conversion Tools. Use when the user wants narration, a voice-over, an audio version of a document, a podcast or YouTube script read aloud, speech in their own cloned voice, help recording a voice sample for cloning (including a short sample script written for the topic and mood of what will be narrated), or a transcript of an MP3, WAV or FLAC recording. 66 built-in voices in 21 languages, MP3 or WAV output.
33 other projects use a version of this.
Adopted by
Most recently taken up by
- BermanRoman/promt-seo-geotheir own version, first seen Nov 8, 2026
- guaardvark/guaardvarktheir own version, first seen Nov 5, 2026
- tjmode/koovitheir own version, first seen Nov 1, 2026
- Smolevich/pet-project-atlastheir own version, first seen Nov 1, 2026
- FiredMosquito831/my-writing-companiontheir own version, first seen Nov 1, 2026
- simota/agent-skillstheir own version, first seen Oct 23, 2026
Used with
Projects with it also use claude-buddy, face-enroll and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
autonomous-aiSkillclaude-buddy
Coordinate with the Claude Buddy companion (Claude Desktop + Claude Code on the user's Mac) — voice-approve tool permission prompts and stay aware of Claude activity.
Also in 3 projects that use this
autonomous-aiSkillface-enroll
Manage the device's face recognition roster — enroll new faces (3 paths: user-supplied photo, agent-captured snapshot on user request, or HAL's familiar-stranger prompt) and maintain the enrolled set (status / remove / reset). All enrolled persons are friends; strangers stay unnamed until promoted via one of the enroll flows.
Also in 3 projects that use this
- +10 more from autonomous-ai
Other versions33 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 33
- autonomous-ai/autonomous-os★ 552same name
- autonomous-ai/lampOS★ 552same name
- autonomous-ai/Physical-AI-Operating-System★ 552same name
- guaardvark/guaardvark★ 306same name
- jvm-skills/jvm-skills★ 140same name
- simota/agent-skills★ 96same name
- crisandrews/ClawCode★ 64same name
- ggombee/code-forge★ 18same name
- shreyaskarnik/voice-mcp★ 17same name
- MichaelPGifford/claude-read-aloud★ 10same name
23 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository2 other files it gives its agents.
- convertSkill
- parse-integrationSkill
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 5 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 25 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 21
Shell available (Claude Code, Codex, terminals): use the ctio CLI if it is installed (ctio --version).
- Distinctive: line 65
Remove headings, footnote markers, URLs and table remnants that would be read aloud verbatim.
- Distinctive: line 94
When all clone slots are used, the clone is refused with a message saying so: delete a clone or upgrade the Voice plan.
- Distinctive: line 112
Keep the script where it is easy to read without moving: on a second screen, or printed out when recording on the phone.
- Distinctive: line 117
When the user wants to clone a voice, write the sample they will read.
- Distinctive: line 124
avoid tongue twisters, long lists of names, abbreviations, all caps and anything the user would not naturally say.
“Common” is measured: kept by at least 6 in 10 of the 25 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Voice: text to speech, voice cloning and transcription
Three jobs, one account:
- Text to speech: narrate a text, a script, or a whole PDF, Word or Markdown file, in one of 66 built-in voices or in a voice the user cloned.
- Voice cloning: the user records about 10 seconds of their own voice on voice.conversiontools.io and gets a Voice ID to narrate with. You help them record a sample that fits what they will narrate.
- Speech to text: transcribe an MP3, WAV or FLAC recording into a plain text file.
How to run it
- Shell available (Claude Code, Codex, terminals): use the
ctioCLI if it is installed (ctio --version). Theconvertskill covers installing and signing in. - No shell (claude.ai, Cowork) or no ctio: use the Conversion Tools MCP tools from this plugin:
convert_filewith aconverter, the input (url, orfile_idfromrequest_upload_url, or base64file_contentfor small files) andoptions. On claude.ai and in Cowork the user connects the plugin's connector once first: Customize > Plugins > Conversion Tools > Connectors > Connect.
The result is a download link valid for about 30 seconds. Fetch it right away; if it expired, call get_download_url with the task id. Never produce the audio or the transcript some other way and present it as the result.
Text to speech
| Converter | Input |
convert.ai_text_to_mp3 (also convert.ai_text_to_speech) | Plain text |
convert.ai_pdf_to_mp3 (also convert.ai_pdf_to_speech) | |
convert.ai_docx_to_mp3 (also convert.ai_docx_to_speech) | Word |
convert.ai_md_to_mp3 (also convert.ai_md_to_speech) | Markdown (fenced code blocks are skipped) |
Options:
voice_tts: a built-in voice id, or the Voice ID of a voice the user cloned (usable only from the account that cloned it).language_tts: the language the text is written in (38 codes). The voice reads the text as written, so pick a voice that speaks that language.output_tts:mp3orwav. With ctio the output file name picks it.
An unknown voice, language or format is an error that names the value, never a silent fallback.
Choosing a voice. List the voices before picking one: ctio voice --format pretty (built-in voices plus the user's own clones, each with its language), or get_converter_info with convert.ai_text_to_mp3 over MCP (every voice_tts value with its label). Match the language first, then the style the user asked for.
# A script, narrated; the output name picks the format
ctio convert -t ai_text_to_speech script.txt narration.mp3 --option voice_tts=gb_jane_neutral --option language_tts=en
# A whole document
ctio convert -t ai_pdf_to_speech handbook.pdf handbook.wav --option voice_tts=fr_marie_neutral --option language_tts=fr
# In the user's own cloned voice
ctio convert -t ai_text_to_speech episode.txt episode.mp3 --option voice_tts=<Voice ID from the dashboard>Over MCP, the same job is one convert_file call: converter convert.ai_text_to_mp3, the text file as file_content, file_id or url, and options {"voice_tts": "gb_jane_neutral", "language_tts": "en", "output_tts": "mp3"}.
The audio. Spoken-word loudness (about -16 LUFS), 24 kHz mono, ready to drop into a video or podcast without a loudness pass.
Write for the ear before you convert. The voice reads exactly what is on the page:
- Short sentences; one idea each.
- Spell out what should be said: "two thousand twenty-six", "per cent", "doctor", not codes or symbols the listener cannot see.
- Commas and full stops make the pauses. A paragraph break makes a longer one.
- Remove headings, footnote markers, URLs and table remnants that would be read aloud verbatim.
Cost and length. 10 AI credits per 1,000 characters. A free account gets 100 AI credits a month, about 10,000 characters, which is roughly 6 to 10 minutes of audio: voices narrate at about 1,000 to 1,600 characters a minute, and a clone keeps the pace of its sample. For a long document, run one paragraph first to check the voice, then the whole file. If a conversion fails on a credit or plan limit, say so and point to https://conversiontools.io/pricing instead of retrying.
Clone the user's own voice
Consent comes first. Only clone the user's own voice, or a voice whose speaker has given explicit permission. The clone form asks the user to confirm exactly that. Do not help clone a celebrity, a public figure, or anyone who has not agreed, and do not write a sample script meant to imitate someone else.
Two ways to clone. In the browser on voice.conversiontools.io, which records the sample for the user (any surface, nothing to install), or with ctio from an audio file (shell available). Both create the same clone in the same account: it shows on the dashboard and in ctio voice.
In the browser, on a computer or a phone:
- Sign in with the Conversion Tools account and open Dashboard > Clone a voice. Record is the default (Upload is next to it for a clip recorded elsewhere).
- Tap the microphone and allow access. Read the sample script (below) while a timer runs: 3 seconds is the minimum, about 10 seconds works best, and it stops on its own at 30 seconds.
- Listen to the take. If it does not sound right, Record again: the name, tone and consent are kept.
- Name the voice, pick a tone label, confirm consent, Clone voice.
Each clone shows its Voice ID with a copy button; that ID is the voice_tts value for every narration above. If the microphone is blocked or missing, the page offers Upload a clip instead.
With ctio, from a recording the user already has:
ctio voice clone my-voice.m4a --name "My narrator" --tone calm --consent "I confirm this is my own voice, or I have the speaker's explicit permission to clone it."- Consent is the user's to give. Show the user the statement, ask whether it is true for this recording, and add
--consentonly after they confirm. Never add it on your own. The statement must be word for word (ctio voicereturns it asconsent_statement); without it ctio stops before uploading anything and prints the exact flag. --nameis required (up to 60 characters);--toneis the label (normal, excited, cheerful, confident, curious, calm, sad, angry, frustrated; default normal).- The output carries the new Voice ID (
--format prettyprintsCloned "<name>" (<tone>). Voice ID: <id>). Use it asvoice_tts. ctio voicelists the built-in voices and the user's clones.ctio voice delete <voice_id> --yesdeletes a clone for good: ask the user first.- When all clone slots are used, the clone is refused with a message saying so: delete a clone or upgrade the Voice plan.
Over MCP there is no clone tool: send the user to the browser flow above.
For an uploaded or ctio clip. MP3, WAV, M4A, FLAC, OGG or WebM (the website upload also takes Opus), 3 seconds minimum, about 10 seconds of clear speech recommended, up to 512 KB on the free plan and 2 MB on paid plans (save as MP3 if a WAV is too big). A browser recording is far smaller than that. Clone slots: 1 on the free plan, 5 on Starter, 20 on Pro.
The clip decides the mood. The tone the user picks on the form is a label for telling clones apart; the clone copies the energy, mood and pace of how the sample was spoken. So:
- Record the sample in the mood the narration needs. A calm sample gives a calm narrator; an excited one gives an excited narrator.
- Record at the speed the narration should have. The clone keeps the sample's pace.
- Record in the language of the narration.
- Different moods need different clones: one calm clone for an audiobook, one cheerful clone for channel intros, each from its own sample.
Recording tips to pass on.
- Quiet room, soft furnishings, no music, no fan, no echo.
- One speaker only.
- Phone or microphone about a hand's width to a forearm's length away, the same distance for the whole take.
- Keep the script where it is easy to read without moving: on a second screen, or printed out when recording on the phone.
- Listen to each take before cloning and record again until it sounds the way the narration should.
Write the sample script for the topic and mood
When the user wants to clone a voice, write the sample they will read. A sample written for their narration teaches the clone the right tone far better than reading something unrelated.
- Find out, or infer from the conversation: what will be narrated (topic, audience, platform), the language, and the mood. Map the mood to one of the form's tone labels: normal, excited, cheerful, confident, curious, calm, sad, angry, frustrated.
- Write 2 to 4 sentences, 25 to 40 words, which is 10 to 15 seconds at a natural pace. The sample must:
- be in the language of the narration and use words from its topic;
- carry the mood in the words themselves, so it is natural to say it that way;
- mix sentence types: a statement, a question, a short pause, ideally one number said in words, so the clone hears varied intonation;
- avoid tongue twisters, long lists of names, abbreviations, all caps and anything the user would not naturally say.
- Add delivery notes: target pace, energy, where to pause, whether to smile while speaking (it is audible).
- Offer one alternative sample in case the first does not feel natural to say, and remind the user to record a few takes.
Examples (English; write the sample in the narration's own language):
- Calm, for a sleep story or meditation audiobook. "Let your shoulders soften, and take a slow breath in. There is nowhere else you need to be right now. Breathe out, and notice how the room grows quiet around you." Delivery: slow, about 120 words a minute, long pauses at each full stop, low energy, no smile.
- Cheerful, for a YouTube channel intro. "Hey everyone, welcome back to the channel! Today we're trying three tiny changes that make a big difference. Ready? Let's jump right in." Delivery: upbeat, about 160 words a minute, smile while speaking, lift on the question.
- Confident, for a training or product explainer. "In the next five minutes, you'll learn how to set up your first report. It takes three steps, and you won't need any spreadsheets. Let's start with the dashboard." Delivery: steady, about 140 words a minute, clear consonants, firm sentence endings.
- Curious, for a documentary or history podcast. "In eighteen eighty-three, a volcano erupted so loudly it was heard thousands of miles away. But what did people actually hear? And why did the sky turn red for months afterwards?" Delivery: measured, about 130 words a minute, rising tone on the questions, a short pause before each.
Then test the clone before a long job: narrate one short paragraph of the real content with the new Voice ID. If it sounds too fast, too flat or too excited, record a new sample in the delivery that is wanted rather than adjusting the text.
Speech to text
| Converter | Input |
convert.ai_mp3_to_text | MP3 |
convert.ai_wav_to_text | WAV |
convert.ai_flac_to_text | FLAC |
ctio convert -t ai_mp3_to_text interview.mp3 interview.txtOver MCP: convert_file with converter convert.ai_mp3_to_text and the recording as url or file_id (upload with request_upload_url first; recordings are usually too big for file_content).
The result is a plain text file with the full transcript. For a video, extract the audio first with convert.mp4_to_mp3, then transcribe the MP3. Transcription costs 5 AI credits per minute of audio, so the free 100 credits a month cover about 20 minutes.
Links
- Voice by Conversion Tools: voice cloning and the voice dashboard
- Text to speech converter
- ctio CLI docs
- Pricing and AI credits
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

