Install
openclaw skills install mai-voiceSynthesize speech with Microsoft's MAI-Voice-1 voices via Azure AI Speech REST API.
openclaw skills install mai-voiceSynthesize speech with Azure AI Speech using Microsoft's MAI-Voice-1 voices.
{baseDir}/scripts/speak.sh --text "Hello Steve"
Defaults:
en-us-Jasper:MAI-Voice-1./mai-voice.mp3audio-24khz-160kbitrate-mono-mp3{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
export AZURE_SPEECH_KEY="YOUR_SPEECH_RESOURCE_KEY"
export AZURE_SPEECH_REGION="eastus"
eastus.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"
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-1The 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: curlBody:
mstts:express-as style wrapper