← 返回 Skills 市场
robotsbuildrobots

MAI Voice

作者 robotsbuildrobots · GitHub ↗ · v0.1.1 · MIT-0
cross-platform ✓ 安全检测通过
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

  1. Go to the Azure portal and open your Speech or Foundry Speech resource.
  2. Open Keys and Endpoint.
  3. Copy one of the resource keys.
  4. Copy the resource region, for example eastus.
  5. 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-1
  • en-us-June:MAI-Voice-1
  • en-us-Grant:MAI-Voice-1
  • en-us-Iris:MAI-Voice-1
  • en-us-Reed:MAI-Voice-1
  • en-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+xml
  • X-Microsoft-OutputFormat: {format}
  • User-Agent: curl

Body:

  • SSML with a MAI voice name
  • optional mstts:express-as style 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.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install mai-voice
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /mai-voice 触发
  4. 根据 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
元数据
Slug mai-voice
版本 0.1.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

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。

💬 留言讨论