You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS(Python 11)下pyttsx3 save_to_file方法失效问题咨询

问题原因与解决办法

pyttsx3在Python 11 Mac上异常的原因

pyttsx3依赖Mac原生的NSSpeechSynthesizer实现语音合成,但该库的C扩展适配未跟上Python 3.10+版本的更新,导致初始化或音频保存流程出现兼容性错误。

py3-tts的两个问题解析

1. save_to_file调用后进程卡住无法退出

py3-tts的save_to_file方法在Mac平台上未正确处理异步合成的事件循环,导致合成完成后进程无法正常释放资源退出。可以通过手动触发资源释放解决:

import py3tts

engine = py3tts.init()
try:
    engine.save_to_file('Hello World', 'test.wav')
    engine.runAndWait()
finally:
    engine.stop()

2. 无法保存为MP3格式

py3-tts基于Mac原生语音合成,而原生接口仅支持输出WAV格式音频,库本身未内置MP3编码模块。要生成MP3,需借助第三方编码工具(如ffmpeg)先导出WAV再转码:

  1. 安装ffmpeg:通过Homebrew执行brew install ffmpeg
  2. 转码代码示例:
import os
import py3tts

engine = py3tts.init()
engine.save_to_file('Hello World', 'test.wav')
engine.runAndWait()
engine.stop()

# 将WAV转成MP3
os.system('ffmpeg -i test.wav -codec:a libmp3lame -qscale:a 2 test.mp3')

内容的提问来源于stack exchange,提问作者Qiulang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 23:47:10