Package Details: python-edge-tts 7.2.3-1

Git Clone URL: https://aur.archlinux.org/python-edge-tts.git (read-only, click to copy)
Package Base: python-edge-tts
Description: Use Microsoft Edge's online text-to-speech service from within your Python code or using the provided edge-tts or edge-playback command
Upstream URL: https://github.com/rany2/edge-tts
Keywords: microsoft online python text-to-speech
Licenses: GPL3
Submitter: lobroc
Maintainer: lobroc (rany)
Last Packager: lobroc
Votes: 5
Popularity: 0.010856
First Submitted: 2023-01-22 15:23 (UTC)
Last Updated: 2025-09-05 07:31 (UTC)

Latest Comments

bruv commented on 2025-08-28 02:30 (UTC) (edited on 2025-08-28 14:20 (UTC) by bruv)

Incase anyone want's to use this with speech dispatcher, here's my config.

edge.conf:

Debug "1"

DefaultVoice "en-US-SteffanNeural"

# Prevents speechd from cutting text into too many chunks by specifying a rarely used symbol and a limit
GenericDelimiters "˨"
GenericMaxChunkLength 2000

GenericLanguage "en" "en-us" "utf-8"

GenericCmdDependency "edge-playback"
GenericCmdDependency "mpv"

GenericExecuteSynth "printf %s -- '$DATA' | ~/bin/edge-tts-wrapper $VOICE $RATE"

# AddVoice "en" "FEMALE1" "en-US-AnaNeural"
# AddVoice "en" "MALE1" "en-US-AndrewMultilingualNeural"
# AddVoice "en" "MALE1" "en-US-AndrewNeural"
# AddVoice "en" "FEMALE1" "en-US-AriaNeural"
# AddVoice "en" "FEMALE1" "en-US-AvaMultilingualNeural"
# AddVoice "en" "FEMALE1" "en-US-AvaNeural"
# AddVoice "en" "MALE1" "en-US-BrianMultilingualNeural"
# AddVoice "en" "MALE1" "en-US-BrianNeural"
# AddVoice "en" "MALE1" "en-US-ChristopherNeural"
# AddVoice "en" "FEMALE1" "en-US-EmmaMultilingualNeural"
# AddVoice "en" "FEMALE1" "en-US-EmmaNeural"
# AddVoice "en" "MALE1" "en-US-EricNeural"
# AddVoice "en" "MALE1" "en-US-GuyNeural"
# AddVoice "en" "FEMALE1" "en-US-JennyNeural"
# AddVoice "en" "FEMALE1" "en-US-MichelleNeural"
# AddVoice "en" "MALE1" "en-US-RogerNeural"
AddVoice "en" "MALE1" "en-US-SteffanNeural"

~/bin/edge-tts-wrapper:

#!/bin/bash
set -Eeuo pipefail

LOG="/run/user/$(id -u)/speech-dispatcher/log/edge-tts-wrapper.log"
mkdir -p "$(dirname "$LOG")"
touch "$LOG"

DATA=$(cat)
VOICE=$1
RATE=$2

# Normalise rate
printf -v RATE "%+.0f%%" "$RATE"

# Remove all newlines from DATA
DATA="${DATA//$'\n'/ }"

{
  echo "=== $(date -Is) edge-tts-wrapper start ==="
  printf 'VOICE=%s\nRATE=%s\nLEN(DATA)=%d\n' "$VOICE" "$RATE" "${#DATA}"
  edge-playback --text="$DATA" --voice="$VOICE" --rate="$RATE"
  echo "=== $(date -Is) edge-tts-wrapper end ==="
} >>"$LOG" 2>&1

speechd.conf:


 LogLevel  3

 LogDir  "default"

 DefaultRate   0

 DefaultPitch   0

 DefaultPitchRange   0

 DefaultVolume 100

 DefaultLanguage   en-US

 SymbolsPreproc "char"

 AudioOutputMethod   pulse

 AddModule "edge" "sd_generic" "edge.conf"
 DefaultModule edge
 LanguageDefaultModule "en" "edge"

 Include "clients/*.conf"

lobroc commented on 2024-05-23 21:48 (UTC)

Thanks, adjusted.

kerojiang commented on 2024-05-23 13:41 (UTC)

Run the edge-tts,it show the error message "ModuleNotFoundError: No module named 'certifi'"

The package python-certifi should have to installed