/install language-tutor
SenseAudio Language Tutor
Create interactive language-learning audio with official SenseAudio TTS endpoints and parameters.
What This Skill Does
- Generate pronunciation examples in supported voices
- Create bilingual vocabulary and sentence practice audio
- Produce slowed-speed listening drills for learners
- Build short dialogue exercises with repetition pauses
- Export lesson audio files and companion study notes
Credential and Dependency Rules
- Read the API key from
SENSEAUDIO_API_KEY. - Send auth only as
Authorization: Bearer \x3CAPI_KEY>. - Do not place API keys in query parameters, logs, or saved examples.
- If Python helpers are used, this skill expects
python3,requests, andpydub. pydubmay also require a local audio backend such asffmpeg; if unavailable, prefer writing individual audio files instead of merging them.
Official TTS Constraints
Use the official SenseAudio TTS rules summarized below:
- HTTP endpoint:
POST https://api.senseaudio.cn/v1/t2a_v2 - Model:
SenseAudio-TTS-1.0 - Max text length:
10000characters voice_setting.voice_idis requiredvoice_setting.speedrange:0.5-2.0- Optional audio format values:
mp3,wav,pcm,flac - Optional sample rates:
8000,16000,22050,24000,32000,44100 - Optional MP3 bitrates:
32000,64000,128000,256000 - Optional channels:
1or2
Recommended Workflow
- Prepare lesson content:
- Split vocabulary, example sentences, and dialogues into short chunks.
- Keep each API call comfortably below the
10000character limit.
- Build minimal TTS requests:
- Send
model,text,stream, andvoice_setting.voice_id. - Add
speed,pitch,vol, andaudio_settingonly when needed.
- Decode and save audio safely:
- HTTP responses return hex-encoded audio in
data.audio; decode before saving. - Keep filenames deterministic and avoid exposing secrets in paths or logs.
- Compose lessons carefully:
- If
pyduband an audio backend are available, merge clips and insert silence. - Otherwise, emit per-word or per-sentence clips and a manifest/Markdown study guide.
- Handle failures and traceability:
- Check HTTP status and provider error payloads before decoding audio.
- Record
trace_idonly for troubleshooting and avoid showing it unless needed.
Minimal Helper
import binascii
import os
import requests
API_KEY = os.environ["SENSEAUDIO_API_KEY"]
API_URL = "https://api.senseaudio.cn/v1/t2a_v2"
def generate_tts(text, voice_id="male_0004_a", speed=1.0, stream=False):
payload = {
"model": "SenseAudio-TTS-1.0",
"text": text,
"stream": stream,
"voice_setting": {
"voice_id": voice_id,
"speed": speed,
},
"audio_setting": {
"format": "mp3",
"sample_rate": 32000,
"bitrate": 128000,
"channel": 2,
},
}
response = requests.post(
API_URL,
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
},
json=payload,
timeout=60,
)
response.raise_for_status()
data = response.json()
audio_hex = data["data"]["audio"]
return binascii.unhexlify(audio_hex), data.get("trace_id")
Patterns
Vocabulary Drill
- Generate one clip for the target word
- Generate one clip for an example sentence
- Optionally generate a slower clip at
speed=0.8 - Save clips separately or merge with pauses
Bilingual Lesson
- Alternate source phrase and translated phrase
- Use short pauses (
1000-2000ms) between clips - Consider different
voice_idvalues for source and translation when helpful
Dialogue Practice
- Create one clip per line of dialogue
- Insert repetition pauses after each line
- Prefer shorter turns for easier debugging and regeneration
Output Options
- Individual MP3 clips for words, sentences, or dialogue turns
- Merged lesson audio if local audio tooling is available
- Markdown study guide with transcript, translation, and file manifest
Safety Notes
- Do not hardcode credentials.
- Do not claim unsupported language-selection parameters for TTS unless the official docs add them.
- Avoid assuming raw bytes can be passed directly to
pydub.AudioSegment; decode and load through a supported container format.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install language-tutor - After installation, invoke the skill by name or use
/language-tutor - Provide required inputs per the skill's parameter spec and get structured output
What is Language Tutor?
Create language learning audio with SenseAudio TTS, including pronunciation drills, bilingual lessons, slowed speech practice, and dialogue exercises. Use wh... It is an AI Agent Skill for Claude Code / OpenClaw, with 373 downloads so far.
How do I install Language Tutor?
Run "/install language-tutor" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Language Tutor free?
Yes, Language Tutor is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Language Tutor support?
Language Tutor is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Language Tutor?
It is built and maintained by scikkk (@scikkk); the current version is v1.0.2.