Skip to main content

Azure Speech

Azure Speech uses Neiroha's Azure Speech Service adapter and calls the Microsoft Speech Text-to-Speech REST API. It is useful for stable voice lists, SSML prosody, and the Azure F0 free tier.

Azure Speech pricing lists a monthly free character quota for Free F0 Neural Text to Speech. The page currently lists Neural TTS as 0.5 million characters free per month. Pricing and regional availability can change; use Azure pricing and your subscription console as the source of truth.

Official pages:

Create an Azure Speech Resource

  1. Open Azure Portal.
  2. Create Speech service, or create a Speech resource under Foundry / Azure AI services.
  3. Choose a region, such as eastus, westus2, or southeastasia.
  4. Copy a key from Keys and Endpoint.
  5. Keep the region name. The region and key must belong to the same resource.

Provider Fields

FieldRecommended Value
Adapter TypeAzure Speech Service
NameAzure Speech East US
Base URLeastus, or https://eastus.tts.speech.microsoft.com
API KeyAzure Speech subscription key
Default ModelEmpty

Neiroha accepts three Base URL forms:

eastus
https://eastus.tts.speech.microsoft.com
https://eastus.api.cognitive.microsoft.com

They are normalized internally to https://{region}.tts.speech.microsoft.com.

Fetch Voices

  1. Save the provider.
  2. Click Fetch All.
  3. Azure returns voices from /cognitiveservices/voices/list.
  4. When creating a character, select a ShortName such as en-US-AriaNeural or zh-CN-XiaoxiaoNeural.
  5. Run Quick Test with one short sentence.

Speed and Format

The Azure adapter uses SSML:

Neiroha FieldAzure Behavior
voiceWritten into <voice name="...">
speedWritten into <prosody rate="...">
response_formatMapped to Azure X-Microsoft-OutputFormat

Default output is WAV. MP3, OGG/Opus, or PCM can also be requested.

Common Failures

SymptomCauseFix
401 / 403Key and region mismatch, or wrong keyCopy key and region from the same Azure resource.
Fetch All returns emptyBase URL is not a Speech TTS endpointUse the region name, such as eastus.
Chinese voice unavailableSelected voice does not support target languageUse a zh-CN-*Neural voice or the official voice list.
Free quota exhaustedF0 character quota is spentWait for monthly reset or upgrade the pricing tier.