If you are unable to use text to speech, here is a process using python to create an audio file compatible with WebEx Contact Center
The script creates an audio file with the exact telephony specifications required by WebEx Contact Center:
- Format: .wav (Waveform Audio File Format)
- Sample Rate: 8000 Hz (8 kHz)
- Channels: 1 (Mono)
- Audio Codec / Encoding: pcm_mulaw (G.711 μ-law, 8-bit) [1, 2, 3, 4]
In your terminal
- pip install edge-tts ffmpeg-python
- winget install -e –id Gyan.FFmpeg
Important – After install, close your terminal, CD back to the directory and run python script.py
import asyncioimport edge_ttsimport ffmpeg # 1. Define your configurationTEXT_PROMPT = "Thank you for calling our support center. Please hold while we connect you."OUTPUT_FILENAME = "webex_prompt.wav"VOICE = "en-US-AvaNeural" # High-quality natural English voice async def text_to_webex_audio(): temp_mp3 = "temp_voice.mp3" print("Generating neural text-to-speech...") communicate = edge_tts.Communicate(TEXT_PROMPT, VOICE) await communicate.save(temp_mp3) print("Converting to Webex specifications (8kHz, Mono, 8-bit u-law)...") try: ( ffmpeg .input(temp_mp3) .output( OUTPUT_FILENAME, ar='8000', # Sample Rate: 8kHz ac=1, # Channels: Mono acodec='pcm_mulaw' # Encoding: u-law / G.711 ) .overwrite_output() .run(capture_stdout=True, capture_stderr=True) ) print(f"Success! '{OUTPUT_FILENAME}' is ready to upload.") except ffmpeg.Error as e: print("FFmpeg Error:", e.stderr.decode()) # Run the processasyncio.run(text_to_webex_audio())