Automated summary
Provides DashScope-backed scripts to run cloud speech recognition (ASR), text-to-speech (TTS), and voice cloning with Qwen speech models.
Strengths
- Covers three concrete workflows (ASR, preset-voice TTS, clone-voice TTS) with ready-to-run scripts
- Produces .ogg output that works directly as Telegram voice notes
- Keeps work files and the virtualenv inside the skill directory instead of the project cwd
- Documents clear failure rules for missing API keys, ffmpeg issues, and clone-profile errors
Limitations
- Requires network access and a DASHSCOPE_API_KEY, with potential costs that are not detailed
- Timestamps are coarse chunk-based, not true word-level alignment
- Voice cloning needs a sample audio file and depends on successful clone-profile creation
Use it when you need cloud ASR or TTS, especially Telegram voice notes or cloned voices, and local-only speech tools are not a good fit.
Avoid it when you must work offline, have no DashScope API key, or need precise word-level timestamps.
Security analysis
CautionThe documentation is transparent about being a network/API-dependent skill and handles its key conservatively (stops if auth is missing rather than guessing). It shells out to bundled Python scripts and ffmpeg for legitimate ASR/TTS/cloning purposes, which is powerful but normal for this kind of skill. The main residual risk is that the referenced scripts are not included in the file, so their behavior must be audited before use; nothing in the text itself is malicious.
- •Skill relies on opaque Python scripts (scripts/qwen_asr.py, qwen_tts.py, qwen_voice_clone.py) whose contents are not shown, so their actual behavior cannot be verified from the SKILL.md alone
- •Reads a cloud API credential (DASHSCOPE_API_KEY) from ~/.config/qwen-voice/.env or <repo>/.qwen-voice/.env and passes it to networked DashScope API calls
- •Instructs execution of python3 scripts and implies fetching/creating dependencies and a venv, plus ffmpeg audio conversion, i.e. arbitrary local process execution with network access
- •Transmits user audio (and optional voice samples for cloning) to a third-party cloud service — privacy/cost implications the user should be aware of
- •No destructive commands, no curl|sh piping, no obfuscation, no credential exfiltration, no safety-disabling instructions observed
Examples
Use qwen-voice to transcribe /tmp/meeting.ogg with chunk timestamps every 3 seconds.Generate a Telegram voice note saying '你好,我是 Pi。' using the Cherry voice and save it to /tmp/out.ogg.Create a Qwen clone profile named george from ./voice_sample.ogg, then synthesize '你好,我是 George。' with it.name: qwen-voice description: Use when cloud Qwen speech features are needed through DashScope, especially for ASR transcription of user audio, Telegram voice-note TTS, or reusable clone-voice workflows that local-only TTS does not cover.
qwen-voice
Use DashScope-backed Qwen speech scripts for cloud ASR, cloud TTS, and optional voice cloning.
Use this skill for the right cases
- Prefer this skill when local-whisper or local-qwen-tts is not the right fit.
- Use it for cloud ASR on audio files.
- Use it for cloud TTS voices or clone profiles.
- Expect network/API dependency and possible cost.
Config
Expect DASHSCOPE_API_KEY in one of:
~/.config/qwen-voice/.env<repo>/.qwen-voice/.env
If missing, stop and report missing auth instead of guessing.
Scripts
# ASR
python3 "$SKILL_DIR/scripts/qwen_asr.py" --in /path/to/audio.ogg
python3 "$SKILL_DIR/scripts/qwen_asr.py" --in /path/to/audio.ogg --timestamps --chunk-sec 3
# preset voice TTS
python3 "$SKILL_DIR/scripts/qwen_tts.py" --text '你好,我是 Pi。' --voice Cherry --out /tmp/out.ogg
# create clone profile
python3 "$SKILL_DIR/scripts/qwen_voice_clone.py" --in ./voice_sample.ogg --name george --out "$SKILL_DIR/work/qwen-voice/george.voice.json"
# synthesize with clone profile
python3 "$SKILL_DIR/scripts/qwen_tts.py" --text '你好,我是 George。' --voice-profile "$SKILL_DIR/work/qwen-voice/george.voice.json" --out /tmp/out.ogg
Operational notes
- Output
.oggis suitable for Telegram voice notes. - Timestamp mode is chunk-based, not true word alignment.
- Scripts create work files and venv inside
$SKILL_DIR/work/(not the project's cwd). - Prefer sending larger batched requests over many tiny API calls when possible.
Failure rules
- If API key is missing: report auth missing.
- If audio conversion fails: check ffmpeg/input format first.
- If clone creation fails: separate clone-profile failure from normal preset-voice TTS.
- If ASR works but timestamps are messy: report they are coarse chunk timestamps, not exact word timings.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/qwen-voice-mrwakfag/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/qwen-voice-mrwakfag' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/qwen-voice-mrwakfag/download' --output '.skill-downloads/qwen-voice-mrwakfag/SKILL.md.part' && mv '.skill-downloads/qwen-voice-mrwakfag/SKILL.md.part' '.skill-downloads/qwen-voice-mrwakfag/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/qwen-voice-mrwakfag/SKILL.md' && test -s '.skill-downloads/qwen-voice-mrwakfag/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/qwen-voice' && cp -R '.skill-downloads/qwen-voice-mrwakfag' '.claude/skills/qwen-voice'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/qwen-voice-mrwakfag'openskills read 'qwen-voice-mrwakfag'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/qwen-voice-mrwakfag/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
Create Interactive Maps with kepler.gl
Data & AI
Create interactive map visualizations and export standalone HTML using the keplergl Python package. Use to plot geospatial data from DataFrames, GeoJSON, or CSV.
Agent-Driven Parameter Optimization
Data & AI
Guide for optimizing configurable systems with a measurable objective, using bounded trials and evidence-based recommendations.
ICP Visitor Outreach
Data & AI
Identify signed-up users matching the ideal customer profile but stalled, and draft personalized outreach to re-engage them.