
Text To Speech
- 29 installs
- 84 repo stars
- Updated January 28, 2026
- aidotnet/moyucode
text-to-speech is a Claude Code skill that converts text to speech audio files using the pyttsx3 engine with multiple voices and rates.
About
text-to-speech is a Claude Code skill that converts text into speech audio using the pyttsx3 engine. It supports multiple voices, adjustable speech rate, and saving output to an audio file or reading from a text file. A developer uses it to generate spoken audio from text.
- Converts text to speech audio files
- Uses the pyttsx3 engine
- Supports multiple voices and speech rates
Text To Speech by the numbers
- 29 all-time installs (skills.sh)
- Ranked #975 of 1,335 Generative Media skills by installs in the Skillselion catalog
- Data as of Jul 28, 2026 (Skillselion catalog sync)
text-to-speech capabilities & compatibility
- Capabilities
- text to speech · audio export · voice selection
- Use cases
- transcription
- Pricing
- Free
What text-to-speech says it does
Convert text to speech audio files with support for multiple voices, languages, and speech rates.
python scripts/text_to_speech.py "Hello World" --output hello.mp3
`tts`, `speech`, `audio`, `voice`, `accessibility`
npx skills add https://github.com/aidotnet/moyucode --skill text-to-speechAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 29 |
|---|---|
| repo stars | ★ 84 |
| Last updated | January 28, 2026 |
| Repository | aidotnet/moyucode ↗ |
What it does
Convert text or a text file into a speech audio file with configurable voice and rate using pyttsx3.
Who is it for?
Generating spoken audio files from text or a document.
When should I use this skill?
You need to convert text into an audio file with a chosen voice and rate.
What you get
Produces a speech audio file from the supplied text.
- speech audio file
By the numbers
- Exposes voice, rate, and volume controls
Files
Text to Speech Tool
Description
Convert text to speech audio files with support for multiple voices, languages, and speech rates.
Trigger
/ttscommand- User needs text to speech
- User wants to generate audio
Usage
# Speak text
python scripts/text_to_speech.py "Hello World"
# Save to file
python scripts/text_to_speech.py "Hello World" --output hello.mp3
# Change voice/rate
python scripts/text_to_speech.py "Hello" --rate 150 --voice 1
# Read from file
python scripts/text_to_speech.py --file document.txt --output audio.mp3Tags
tts, speech, audio, voice, accessibility
Compatibility
- Codex: ✅
- Claude Code: ✅
#!/usr/bin/env python3
"""
Text to Speech Tool
Based on: https://github.com/pyttsx3/pyttsx3
Usage:
python text_to_speech.py "Hello World"
python text_to_speech.py "Hello" --output hello.mp3
"""
import argparse
import sys
from pathlib import Path
def text_to_speech(text, output=None, rate=150, voice_id=0, volume=1.0):
"""Convert text to speech."""
try:
import pyttsx3
except ImportError:
print("Error: pyttsx3 required. Install: pip install pyttsx3", file=sys.stderr)
sys.exit(1)
engine = pyttsx3.init()
# Set properties
engine.setProperty('rate', rate)
engine.setProperty('volume', volume)
# Set voice
voices = engine.getProperty('voices')
if voice_id < len(voices):
engine.setProperty('voice', voices[voice_id].id)
if output:
engine.save_to_file(text, output)
engine.runAndWait()
print(f"✓ Audio saved to {output}")
else:
engine.say(text)
engine.runAndWait()
print("✓ Speech completed")
def list_voices():
"""List available voices."""
try:
import pyttsx3
engine = pyttsx3.init()
voices = engine.getProperty('voices')
print("Available voices:")
for i, voice in enumerate(voices):
print(f" {i}: {voice.name} ({voice.languages})")
except ImportError:
print("Error: pyttsx3 required", file=sys.stderr)
def main():
parser = argparse.ArgumentParser(description="Text to speech")
parser.add_argument('text', nargs='?', help='Text to speak')
parser.add_argument('--file', '-f', help='Read from file')
parser.add_argument('--output', '-o', help='Output audio file')
parser.add_argument('--rate', '-r', type=int, default=150, help='Speech rate')
parser.add_argument('--voice', '-v', type=int, default=0, help='Voice ID')
parser.add_argument('--volume', type=float, default=1.0, help='Volume (0-1)')
parser.add_argument('--list-voices', '-l', action='store_true')
args = parser.parse_args()
if args.list_voices:
list_voices()
return
if args.file:
with open(args.file, 'r', encoding='utf-8') as f:
text = f.read()
elif args.text:
text = args.text
else:
parser.error("Provide text or --file")
text_to_speech(text, args.output, args.rate, args.voice, args.volume)
if __name__ == "__main__":
main()
Related skills
FAQ
What engine does the TTS skill use?
It uses the pyttsx3 Python library.
Can it change the voice and speed?
Yes, it exposes --rate and --voice options.