← 返回 Skills 市场
MAI Voice
作者
robotsbuildrobots
· GitHub ↗
· v0.1.1
· MIT-0
97
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install mai-voice
功能描述
Synthesize speech with Microsoft's MAI-Voice-1 voices via Azure AI Speech REST API.
使用说明 (SKILL.md)
MAI-Voice-1
Synthesize speech with Azure AI Speech using Microsoft's MAI-Voice-1 voices.
Quick start
{baseDir}/scripts/speak.sh --text "Hello Steve"
Defaults:
- Voice:
en-us-Jasper:MAI-Voice-1 - Output:
./mai-voice.mp3 - Format:
audio-24khz-160kbitrate-mono-mp3
Useful flags
{baseDir}/scripts/speak.sh --text "Hello Steve" --voice en-us-Iris:MAI-Voice-1 --out /tmp/iris.mp3
{baseDir}/scripts/speak.sh --text-file /tmp/input.txt --voice en-us-June:MAI-Voice-1 --style empathy --out /tmp/june.mp3
{baseDir}/scripts/speak.sh --text "Let's go" --voice en-us-Jasper:MAI-Voice-1 --style excitement
{baseDir}/scripts/speak.sh --list-voices
Required env vars
export AZURE_SPEECH_KEY="YOUR_SPEECH_RESOURCE_KEY"
export AZURE_SPEECH_REGION="eastus"
How to get the API key and region
- Go to the Azure portal and open your Speech or Foundry Speech resource.
- Open Keys and Endpoint.
- Copy one of the resource keys.
- Copy the resource region, for example
eastus. - Export them:
export AZURE_SPEECH_KEY="YOUR_SPEECH_RESOURCE_KEY"
export AZURE_SPEECH_REGION="eastus"
The MAI-Voice docs currently point at East US for preview access, so if you are not using eastus, double-check that your resource actually supports the model before blaming the script.
Optional:
export AZURE_SPEECH_OUTPUT_FORMAT="audio-24khz-160kbitrate-mono-mp3"
Supported voices
en-us-Jasper:MAI-Voice-1en-us-June:MAI-Voice-1en-us-Grant:MAI-Voice-1en-us-Iris:MAI-Voice-1en-us-Reed:MAI-Voice-1en-us-Joy:MAI-Voice-1
API shape
The script calls:
POST https://{AZURE_SPEECH_REGION}.tts.speech.microsoft.com/cognitiveservices/v1
Headers:
Ocp-Apim-Subscription-Key: {AZURE_SPEECH_KEY}Content-Type: application/ssml+xmlX-Microsoft-OutputFormat: {format}User-Agent: curl
Body:
- SSML with a MAI voice name
- optional
mstts:express-asstyle wrapper
Notes
- This uses the Azure Speech REST API, not the Python SDK.
- Voice selection is user-configurable.
- Style is optional and applied via SSML.
- MAI-Voice-1 is currently public preview.
安全使用建议
This skill is internally consistent and appears to do exactly what it says: send text (from --text or a user-provided file) to Azure Speech and save the returned audio. Before installing, ensure you: 1) only provide an Azure Speech key that you are willing to use for TTS (treat AZURE_SPEECH_KEY as a secret); 2) limit the key's scope (use a dedicated Speech resource or key, monitor usage, and rotate if needed); 3) be mindful that any text you pass will be sent to Microsoft's Azure endpoint (do not send highly sensitive PII unless your compliance requirements allow it); 4) review the script if you plan to run it unattended because it will write to whatever --out path is supplied; and 5) verify your Azure region supports MAI-Voice-1. The skill does not exhibit hidden endpoints or unrelated credential requests.
功能分析
Type: OpenClaw Skill
Name: mai-voice
Version: 0.1.1
The skill provides a legitimate utility for synthesizing speech using the Azure AI Speech REST API. The primary script, `scripts/speak.sh`, correctly implements XML escaping for input text, validates voice selections against a whitelist, and communicates only with the official Microsoft Azure endpoint. No evidence of data exfiltration, malicious execution, or prompt injection was found.
能力评估
Purpose & Capability
Name/description claim TTS via Azure MAI-Voice-1 and the skill only requires bash and curl plus AZURE_SPEECH_KEY and AZURE_SPEECH_REGION. The included scripts implement exactly that (construct SSML, POST to https://{region}.tts.speech.microsoft.com/cognitiveservices/v1). No unrelated services, binaries, or credentials are requested.
Instruction Scope
SKILL.md instructs running scripts/speak.sh which only reads an optional user-provided text file, uses declared env vars, builds SSML, POSTs to Azure, and writes a local output audio file. The script does not read other system config, does not send data to third-party endpoints beyond the documented Azure endpoint, and does not perform broad or vague data collection. Note: the script will write to any --out path provided by the user and will read any --text-file path the user supplies — both are expected behaviors for a CLI tool.
Install Mechanism
No install spec; this is instruction-only plus a small shell script. No downloads or archive extraction occur, so there is no high-risk install mechanism.
Credentials
Only AZURE_SPEECH_KEY (primary credential) and AZURE_SPEECH_REGION are required — exactly what a TTS tool calling Azure REST should need. No extra SECRET/TOKEN env vars or unrelated credentials are requested.
Persistence & Privilege
always:false and user-invocable:true (defaults). The skill does not modify other skills or system-wide settings. It does not store persistent tokens or enable permanent background services.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install mai-voice - 安装完成后,直接呼叫该 Skill 的名称或使用
/mai-voice触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.1
Add Azure Speech key and region setup instructions
v0.1.0
Initial release: Azure Speech REST MAI-Voice-1 synthesis skill with selectable voices
元数据
常见问题
MAI Voice 是什么?
Synthesize speech with Microsoft's MAI-Voice-1 voices via Azure AI Speech REST API. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 97 次。
如何安装 MAI Voice?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install mai-voice」即可一键安装,无需额外配置。
MAI Voice 是免费的吗?
是的,MAI Voice 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
MAI Voice 支持哪些平台?
MAI Voice 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 MAI Voice?
由 robotsbuildrobots(@robotsbuildrobots)开发并维护,当前版本 v0.1.1。
推荐 Skills