Skip to main content
In this lesson we’ll cover how audio output settings affect speech synthesis quality and efficiency, and how to choose and configure voices in Azure Speech Services. Topics include audio file types, sample rates, bit depth, and the difference between standard and neural TTS voices — plus concise code examples (C# and Python) showing how to set output formats and voice names with the Azure Speech SDK.

Audio formats: file type, sample rate, and bit depth

Azure Speech Services supports common audio containers and codecs (WAV, MP3, OGG, and others). Choosing the right format depends on whether you will stream audio, store it for download, or post-process it.
  • File type: Pick a container/codec for compatibility and filesize. WAV/PCM is uncompressed and ideal for high-quality processing; MP3 and OGG are compressed and save bandwidth/storage.
  • Sample rate: Defines how many samples per second are captured. Higher rates (e.g., 24 kHz) improve clarity for wideband content but increase file size. 16 kHz is a common compromise for speech.
  • Bit depth: The number of bits per sample (e.g., 16-bit). Higher bit depth increases fidelity and file size. For speech, 16-bit PCM is typical.
A presentation slide titled "Audio Format and Voices" with a waveform icon and the heading "Audio Format" on the left. On the right are three colored boxes describing File Type, Sample Rate, and Bit Depth with short explanations.
Choose audio format and sample rate to match your downstream needs: use higher sample rates and uncompressed formats for post-processing or human listeners, and compressed formats for streaming, mobile, or bandwidth-constrained scenarios.
Audio format quick reference Sample rates and recommended uses

Voice options: Standard vs Neural

Azure Speech Services provides two primary types of text-to-speech voices:
  • Standard voices: Pre-built synthetic voices suitable for basic announcements and simple automation. Often faster and lower-cost but may sound slightly robotic.
  • Neural voices: Deep learning–based voices that deliver more natural prosody and expressiveness. Ideal for virtual assistants, audiobooks, and UX-focused experiences.
A dark-themed slide titled "Audio Format and Voices" showing two panels describing voice options. The left panel explains "Standard Voices" (pre-recorded synthetic voices) and the right panel explains "Neural Voices" (AI-powered, more natural-sounding voices using deep learning).
Neural voices typically deliver higher naturalness and expressiveness, but review quotas, regional availability, and pricing before production rollout.
Neural voices may have regional availability, quota limits, and different pricing tiers. Verify your subscription limits and regional support in the Azure portal and the Speech Services pricing and quotas documentation.

Configuring output format and voice in code

Below are concise examples showing how to set output formats and voice names in the Azure Speech SDK. Each example demonstrates setting a neural voice and a common RIFF (WAV) output format. C# (set RIFF 16 kHz 16-bit mono PCM and a neural voice)
Python examples (Azure Speech SDK)
  • What the examples show:
    1. Create a SpeechConfig and set voice and output format.
    2. Synthesize to the default speaker.
    3. Save synthesized audio to a WAV file.
    4. Use that saved file for Speech-to-Text (STT) recognition.
TTS: synthesize to speaker and save to a file
Sample console output (illustrative)
STT: recognize speech from an audio file
Typical recognition output (illustrative)

Best practices and tips

  • For pipelines that include post-processing (noise reduction, alignment, ASR training), prefer uncompressed WAV (16-bit PCM) at 16 kHz or 24 kHz.
  • For streaming and mobile delivery, prefer MP3 or Opus (OGG) to reduce bandwidth.
  • Test voice choices with representative text. Neural voices may need different SSML or prosody tuning to get the desired intonation.
  • Monitor quotas and region availability for neural voices; consider fallback to standard voices if unavailable.

Summary

  • Select file type, sample rate, and bit depth based on your target use (streaming vs. storage vs. processing).
  • Use neural voices when you require natural, expressive TTS for UX-heavy applications.
  • Configure output format and voice via SpeechConfig in the Azure Speech SDK; you can synthesize to the speaker, save to a file, and use that audio for Speech-to-Text.
Links and references

Watch Video