python调用pc的语音借口

先安装:

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)

高声呼喊,"毛主席真伟大"

相关推荐
剩下了什么6 小时前
float32 与 float64 精度陷阱:如何在 Go 中避免错误使用
开发语言·后端·golang
指尖时光.7 小时前
Three.js 超全入门综合案例
开发语言·javascript·ecmascript
暴力求解7 小时前
Linux网络---传输层协议TCP(二)
linux·服务器·开发语言·网络·tcp/ip
程序员三藏7 小时前
Python+requests实现接口自动化测试
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
吴声子夜歌7 小时前
Java面试题——基础(一)
java·开发语言
小庞在加油8 小时前
WinDbg实战:QT/跨平台项目死锁与无响应问题排查指南
开发语言·qt·windbg·工具
Vae_Mars8 小时前
C#中的delegate委托
开发语言·c#
一直走下去-明8 小时前
简单的http抓包解包完整代码
开发语言·python
雷帝木木9 小时前
数据湖与数据仓库:从理论到实践
人工智能·python·深度学习·机器学习
caimouse9 小时前
ReactOS 图形系统分析(51):元文件子系统 — metafile.c
c语言·开发语言