Azure Speech
The AzureTTSService provides professional, natural-sounding speech using Azure Cognitive Services. It's the recommended TTS provider for enterprise-grade applications requiring massive scale and extensive voice support.
Installation
To use Azure TTS, install the required dependencies:
pip install "piopiy-ai[azure]"
Prerequisites
- An Azure subscription and a Speech service resource (Get yours here).
- Azure API key and region.
- Set your credentials in your environment:
export AZURE_SPEECH_API_KEY="your_api_key_here"
export AZURE_SPEECH_REGION="your_region_here"
Configuration
AzureTTSService Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
api_key | str | Required | Your Azure Speech API key. |
region | str | Required | Azure region (e.g., "eastus"). |
voice | str | "en-US-SaraNeural" | Azure voice identifier. |
params | InputParams | InputParams() | Advanced prosody and style settings. |
InputParams
| Parameter | Type | Default | Description |
|---|---|---|---|
style | str | None | Speaking style (e.g., "cheerful"). |
pitch | str | None | Voice pitch adjustment. |
rate | str | "1.05" | Speech rate multiplier. |
volume | str | None | Volume level adjustment. |
Usage
Basic Setup
import os
from piopiy.services.azure.tts import AzureTTSService
tts = AzureTTSService(
api_key=os.getenv("AZURE_SPEECH_API_KEY"),
region=os.getenv("AZURE_SPEECH_REGION"),
voice="en-US-EmmaNeural"
)
With Expressive Styles
from piopiy.services.azure.tts import AzureTTSService
tts = AzureTTSService(
api_key=os.getenv("AZURE_SPEECH_API_KEY"),
region="eastus",
params=AzureTTSService.InputParams(
style="cheerful",
rate="1.1"
)
)
Notes
- Word Timestamps:
AzureTTSServicesupports precise word-level timestamps, enabling synchronized visual feedback or animations. - SSML: The service automatically generates SSML to apply your configuration parameters efficiently.