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)

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

相关推荐
Rhys..2 分钟前
python + Flask模块学习 1 基础用法
python·学习·前端框架·flask
飞翔的佩奇4 分钟前
【完整源码+数据集+部署教程】骰子点数识别图像实例分割系统源码和数据集:改进yolo11-DCNV2
python·yolo·计算机视觉·数据集·yolo11·骰子点数识别图像实例分割
Source.Liu11 分钟前
【Python基础】 13 Rust 与 Python 注释对比笔记
开发语言·笔记·python·rust
qq_1955516922 分钟前
代码随想录70期day3
开发语言·python
XXYBMOOO27 分钟前
Qt UDP 通信类详解与实现
开发语言·网络·c++·qt·网络协议·ui·udp
pusue_the_sun32 分钟前
C语言强化训练(12)
c语言·开发语言·算法
JosieBook42 分钟前
【SpringBoot】21-Spring Boot中Web页面抽取公共页面的完整实践
前端·spring boot·python
UrbanJazzerati1 小时前
掌握 xlwings 的 used_range:高效处理 Excel 数据区域
python·面试·excel
counting money1 小时前
JAVA泛型基础
java·开发语言·eclipse
007php0072 小时前
Go语言面试:传值与传引用的区别及选择指南
java·开发语言·后端·算法·面试·golang·xcode