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

本地进行语音文字互转

文字转语音 ChatTTS

https://github.com/2noise/ChatTTS

  • 用下面的代码即可实现,输出一个wav音频文件,即为转化的结果
from torch import manual_seedimport ChatTTS
import torch
import torchaudiochat = ChatTTS.Chat()
chat.load(compile=True) # Set to True for better performancetexts = ["今年上半年,各地因地制宜,加快建设各具特色的产业集群。"]# 设置种子, 保持音色稳定
torch.manual_seed(120)wavs = chat.infer(texts)for i in range(len(wavs)):"""In some versions of torchaudio, the first line works but in other versions, so does the second line."""try:torchaudio.save(f"basic_output{i}.wav", torch.from_numpy(wavs[i]).unsqueeze(0), 24000, format="wav")except:torchaudio.save(f"basic_output{i}.wav", torch.from_numpy(wavs[i]), 24000, format="wav")
  • 需要安装soundfile来处理音频格式
pip install soundfile

RuntimeError: narrow(): length must be non-negative.

  • transformer版本问题导致的,运行下面命令即可解决
pip install transformers==4.53.2

https://github.com/2noise/ChatTTS/issues/955

语音转文字 whisper

https://github.com/openai/whisper

  • 把上面转出来的wav文件,用whisper再转成文字,按照官方代码实例即可
http://www.lryc.cn/news/615654.html

相关文章:

  • CVPR中深度学习新范式:通用性、鲁棒性与多模态的创新突破
  • 分布式事务Seata TCC模式篇
  • Linux网络转发系统框架分析
  • 【密码学】7. 数字签名
  • orcad的操作(1)
  • 【LLM】Openai之gpt-oss模型和GPT5模型
  • 【unitrix数间混合计算】2.9 小数部分特征(t_non_zero_bin_frac.rs)
  • DAY35打卡
  • 【js】判断异步函数的返回值要加await
  • 【机器学习深度学习】模型选型:如何根据现有设备选择合适的训练模型
  • Redis面试题及详细答案100道(01-15) --- 基础认知篇
  • 力扣 30 天 JavaScript 挑战 第二题笔记
  • 服务器硬件电路设计之I2C问答(二):I2C总线的传输速率与上拉电阻有什么关系?
  • 常用信号深度解析(SIGINT、SIGPIPE、SIGALRM、SIGTERM等)
  • Java安全-组件安全
  • 谷歌搜索 sg_ss 逆向分析
  • nginx的安装
  • 智能的本质
  • Linux之shell脚本篇(四)
  • 【工具变量】地市人力资本水平数据集(2003-2023年)
  • 9. 堆和栈有什么区别
  • 健全性测试(Sanity Testing):你软件的快速“体检” ✅(省时避坑,确保核心!)
  • PID学习笔记1
  • 复现论文关于3-RPRU并联机器人运动学建模与参数优化设计
  • QT环境搭建
  • 功能测试中常见的面试题-二
  • 【Python 高频 API 速学 ⑥】
  • 09 【C++ 初阶】C/C++内存管理
  • [激光原理与应用-207]:光学器件 - 光纤种子源激光器常用元器件
  • Linux文件系统基石:透彻理解inode及其核心作用