先安装:
bash
pip install pyttsx3
再运行:
python
import pyttsx3
# 初始化语音引擎
def init_engine():
engine = pyttsx3.init()
# 设置中文语音
voices = engine.getProperty('voices')
for voice in voices:
if 'chinese' in voice.name.lower():
engine.setProperty('voice', voice.id)
break
# 设置语速 (默认是200)
engine.setProperty('rate', 150)
# 添加以下行来防止引擎过早释放
engine.setProperty('debug', True)
return engine
# 说中文的函数
def speak_chinese(text, engine=None):
local_engine = engine if engine else init_engine()
try:
local_engine.say(text)
local_engine.runAndWait()
# 添加以下行来确保语音完全播放完成
local_engine.stop()
except Exception as e:
print(f"语音转换出错: {str(e)}")
finally:
# 如果是本地创建的引擎,则需要清理
if engine is None:
del local_engine
# 使用示例
if __name__ == "__main__":
text = "毛主席真伟大"
speak_chinese(text)
高声呼喊,"毛主席真伟大"