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

文字转语音 edge_tts

1、前沿

这是一款微软语音转文字的项目,不要电脑配置因为他是通过类爬虫方式把文字转语音,跟官方比起来速度会慢一点但是基本够用

https://github.com/rany2/edge-tts

2、代码封装

默认是通过命令行的方式不适合集成到我们自己的项目通过封装成接口的方式使用

@router.get("/text-to-speech", tags=["语音合成"], summary="文字转语音")
async def text_to_speech(text: str):try:file_path = await edge_tts_async(text)return FileResponse(path=file_path, media_type="audio/mp3", filename=os.path.basename(file_path))except Exception as e:return {"error": f"转换失败: {str(e)}"}import edge_ttsasync def edge_tts_async(text):num = random.randint(1, 100000000)static_dir = "static/audio"os.makedirs(static_dir, exist_ok=True)file_path = os.path.join(static_dir, f"{num}.mp3")# 从配置获取代理设置(如果有)proxy = Noneif "proxies" in GLOBAL_CONFIG and "proxy" in GLOBAL_CONFIG["proxies"]:proxy = GLOBAL_CONFIG["proxies"]["proxy"]try:# 使用edge_tts.Communicate类进行文字转语音communicate = edge_tts.Communicate(text,"zh-CN-XiaoyiNeural",proxy=proxy,connect_timeout=20,receive_timeout=60)# 保存音频文件await communicate.save(file_path)return file_pathexcept Exception as e:log_error(f"文字转语音失败: {str(e)}")raise Exception(f"TTS conversion failed: {str(e)}")
http://www.dtcms.com/a/327477.html

相关文章:

  • Spring IoC实现原理详解
  • [激光原理与应用-251]:理论 - 几何光学 - 长焦与短焦的比较
  • 晶片与电路板的桥梁-封装
  • 回归预测 | Matlab实现CNN-BiLSTM-self-Attention多变量回归预测
  • 外卖投诉:差评转复购的3步攻略
  • DOM2 Style的隐藏武器:getComputedStyle()的使用指南
  • idea git commit特别慢,cpu100%
  • dag实现案例 02、实现简易版dag调度系统(基于01之上升级)
  • GeoScene 空间大数据产品使用入门(6)进阶模型
  • 软考备考(三)
  • jupyter notebook中查看kernel对应环境的解决方案
  • RK3568 Linux驱动学习——Linux LED驱动开发
  • 安全合规5--终端安全检测和防御技术
  • 【1】Transformers快速入门:自然语言处理(NLP)是啥?
  • 肖臻《区块链技术与应用》第九讲:比特币交易的“智能”核心:深入解析脚本语言Script
  • 常见的设计模式(2)单例模式
  • TDengine 初体验
  • Flink Python API 提交 Socket 数据源的 WordCount 作业
  • TDengine 可观测性最佳实践
  • 荣耀手机无法连接win11电脑,错误消息:“无法在此设备上加载驱动程序 (hn_usbccgpfilter.sys)。”解决方案
  • Flink运行时的实现细节
  • 嵌入式Linux进程管理面试题大全(含详细解析)
  • 基于热成像摄像头检测蚊子的可行性研究
  • iOS 签名证书全生命周期实战,从开发到上架的多阶段应用
  • 《Qwen2.5-VL 》论文精读笔记
  • 网络协议之TCP和UDP
  • 【iOS】Block基础知识和底层探索
  • Model Context Protocol (MCP)标准化应用程序向大型语言模型 (LLM) 提供上下文协议
  • 如何通过 5 种方法轻松格式化 USB 驱动器
  • Kubernetes 资源管理全解析:从基础到企业级实践