Fedora下Python pyttsx3语音合成发音异常及音频组件冲突求助
Fedora系统下pyttsx3语音合成发音失真及ALSA错误问题
原代码在Windows环境运行完全正常,切换到Fedora系统两周后出现异常,代码如下:
import pyttsx3 from colorama import Fore, Style #Setting up Rate RATE = 175 engine = pyttsx3.init() engine.setProperty('rate',RATE) #Volume VOLUME = 0.85 #Must be between 0 to 1. A float too. engine.setProperty('volume',VOLUME) #Voice ID engine.setProperty('voice',engine.getProperty('voices')[0].id) #id 1 for female, 0 for male def Speak(speech): print(Fore.LIGHTMAGENTA_EX+speech+Style.RESET_ALL) engine.say(speech) engine.runAndWait() return
运行时输出大量ALSA相关错误日志:
ALSA lib pcm_dsnoop.c:567:(snd_pcm_dsnoop_open) unable to open slave ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave ALSA lib pcm_dsnoop.c:567:(snd_pcm_dsnoop_open) unable to open slave ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave You are requested to wait for a while Listening Now
语音失真表现
- 男性语音(ID 0):将"You are requested to wait for a while"读成"yo ar requested to wait for a while"
- 女性语音(ID 1):发音更差,读成"yo r reqsted to wait for a wee le",伴随音质卡顿
已尝试的操作及问题
- 系统未安装pulseaudio,已安装pyttsx3依赖的espeak
- 参考Ubuntu论坛尝试处理JACK组件时,触发系统包冲突,错误信息如下:
Last metadata expiration check: 3:13:25 ago on Thu 01 Aug 2024 12:29:13 PM +06. Error: Problem: problem with installed package pipewire-jack-audio-connection-kit-1.0.7-2.fc40.x86_64 - package pipewire-jack-audio-connection-kit-1.0.7-2.fc40.x86_64 from @System conflicts with jack-audio-connection-kit-dbus provided by jack-audio-connection-kit-dbus-1.9.22-5.fc40.x86_64 from fedora - package pipewire-jack-audio-connection-kit-1.0.4-2.fc40.x86_64 from fedora conflicts with jack-audio-connection-kit-dbus provided by jack-audio-connection-kit-dbus-1.9.22-5.fc40.x86_64 from fedora - package pipewire-jack-audio-connection-kit-1.0.7-2.fc40.x86_64 from updates conflicts with jack-audio-connection-kit-dbus provided by jack-audio-connection-kit-dbus-1.9.22-5.fc40.x86_64 from fedora - conflicting requests (try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages)
- 删除ALSA配置文件仅能消除错误日志,无法解决发音失真问题
求可行的解决方案,解决发音失真和音频错误问题。
内容的提问来源于stack exchange,提问作者Ahanaf Rashid
相关产品推荐
相关产品推荐

