当前位置: 首页 > article >正文

语音识别——文本转语音

python自带的pytts说话人的声音比较机械,edge-tts提供了更自然的语音合成效果,支持多种语音选择。

项目地址:GitHub - rany2/edge-tts: Use Microsoft Edge's online text-to-speech service from Python WITHOUT needing Microsoft Edge or Windows or an API key

1. edge-tts安装

pip install edge-tts

2. MPV安装

同时还需要安装mpv才能正常使用

windows mpv安装:

安装地址:

mpv.io | Installation

安装方法:

windows 安装mpv player-CSDN博客

ubuntu mpv安装:

sudo apt-get update

sudo apt-get install mpv

3. 用法

直接在终端输出声音:

edge-playback --text "你好" --voice zh-CN-YunxiNeural

查看支持的声音列表:

edge-tts --list-voices

保存问mp3文件

edge-tts --text "你好" --write-media C:\output\hello.mp3

 

python使用edge-tts

# 使用edge-tts播放输出,避免保存临时文件
# 直接将edge-tts的输出通过管道传递给音频播放器
# edge-playback --text "你好" --voice zh-CN-YunxiNeural
# 查看支持的语音
# edge-tts --list-voicesimport subprocessdef talkContent(text):# 创建edge-tts进程,输出音频数据到管道tts_process = subprocess.Popen(['edge-tts','--text', text,'--voice', 'zh-CN-XiaoxiaoNeural', # zh-CN-shaanxi-XiaoniNeural'--volume', '+100%',],stdout=subprocess.PIPE)# 创建播放器进程,从管道接收音频数据player_process = subprocess.Popen(['mpv', '--no-cache', '--no-terminal', '--', '-'],stdin=tts_process.stdout)# 关闭父进程的管道副本,避免死锁tts_process.stdout.close()# 等待播放器进程完成player_process.wait()# if __name__ == "__main__":
#     talkContent("你好")

http://www.lryc.cn/news/2387108.html

相关文章:

  • 跟着华为去变革 ——读《常变与长青》有感
  • 图像分割技术的实现与比较分析
  • node.js配置变量
  • Ubuntu+Docker+内网穿透:保姆级教程实现安卓开发环境远程部署
  • 为什么需要清除浮动?清除浮动的方式有哪些?
  • 计算机网络学习20250526
  • ArkUI:鸿蒙应用响应式与组件化开发指南(一)
  • YOLOv11改进 | Neck篇 | 双向特征金字塔网络BiFPN助力YOLOv11有效涨点
  • C/C++的OpenCV 进行轮廓提取
  • 计算机网络总结(物理层,链路层)
  • TIGER - 一个轻量高效的语音分离模型,支持人声伴奏分离、音频说话人分离等 支持50系显卡 本地一键整合包下载
  • yolov8,c++案例汇总
  • 无人机降落伞设计要点难点及原理!
  • 20250526给荣品PRO-RK3566的Android13单独编译boot.img
  • vue3项目动态路由的相关配置踩坑记录
  • git子模块--命令--列表版
  • C++(4)
  • 构建版本没mac上传APP方法
  • 如何解决大模型返回的JSON数据前后加上```的情况
  • 本地处理 + GPU 加速 模糊视频秒变 4K/8K 修复视频老旧素材
  • 服务器异常数据问题解决 工具(tcpdump+wireshark+iptables)
  • 综合实现案例 LVS keepalived mysql 等
  • 【QT】对话框dialog类封装
  • 2025/5/26 学习日记 基本/扩展正则表达式 linux三剑客之grep
  • 【后端高阶面经:消息队列篇】29、Kafka高性能探秘:零拷贝、顺序写与分区并发实战
  • Spring Boot企业级开发五大核心功能与高级扩展实战
  • 在SpringBoot项目中策略模式的使用
  • 在 Docker 中启动 Jupyter Notebook
  • IP 地址反向解析(IP反查域名)原理与应用
  • CodeTop之LRU缓存