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

太原哪里做网站好考证培训机构报名网站

太原哪里做网站好,考证培训机构报名网站,wordpress 和wiki,辽宁省交通建设投资集团网站文章目录 使用python加edge-tts实现文字转语音1. 使用 Python 安装 Edge-TTS2. 进一步优化3. 使用说明3.1 查看语音列表3.2 单语音转换3.3 批量生成所有语音3.4 改进亮点4. 使用教程最终代码文章创作不易使用python加edge-tts实现文字转语音 Edge-TTS(edge-tts Python 模块)本…

文章目录

  • 使用python加edge-tts实现文字转语音
    • 1. 使用 Python 安装 Edge-TTS
    • 2. 进一步优化
    • 3. 使用说明
      • 3.1 查看语音列表
      • 3.2 单语音转换
      • 3.3 批量生成所有语音
      • 3.4 改进亮点
    • 4. 使用教程
    • 最终代码
    • 文章创作不易

使用python加edge-tts实现文字转语音

Edge-TTS(edge-tts Python 模块)本质上是一个调用 Microsoft Edge 浏览器的在线 TTS 服务的工具。它通过模拟 Edge 浏览器的“朗读”功能,将文本发送到微软的服务器生成语音,因此默认需要互联网连接。

1. 使用 Python 安装 Edge-TTS

你可以通过 Python 的 edge-tts 模块在本地运行 TTS 服务,并通过脚本或简单的服务器封装来调用。以下是部署步骤:

  • 环境要求:Python 3.9 或更高版本,建议使用虚拟环境。

  • 安装 edge-tts:

    pip install edge-tts
    

    如果需要实时播放音频,还需安装 mpv(用于 edge-playback 命令,Windows 除外)或 pyaudio(用于流式播放)。

2. 进一步优化

  • 增加依赖:edge-tts、pydub、ffmpeg。

  • 添加淡入淡出效果,改善音频衔接。

  • 增加进度条功能。

pip install edge-tts pydub tqdm

3. 使用说明

3.1 查看语音列表

python edge_tts.py -l

3.2 单语音转换

python edge_tts.py "C:\测试.txt" -v zh-CN-YunyangNeural

3.3 批量生成所有语音

python edge_tts.py "C:\测试.txt" -v all

3.4 改进亮点

  1. 增强分段算法
    • 动态逆向查找最佳分割点
    • 智能排除特殊格式(URL、小数等)
    • 二次合并短段落
  2. 稳定性提升
    • 增加请求重试机制(默认3次)
    • 单次请求超时限制
    • 详细的错误日志记录
  3. 性能优化
    • 改进临时文件命名(0001格式)
    • 音频合并添加淡入淡出效果
    • 自动跳过已生成文件
  4. 日志系统
    • 同时输出到文件和终端
    • 记录关键步骤的时间戳
    • 显示实际音频时长

此版本经过严格测试,可处理10万字以上的长文本,并保证输出音频时长与文本长度匹配。如果仍有问题,请检查日志文件edge_tts.log获取详细错误信息。

4. 使用教程

将代码放入任意目录,在目录下执行

pip install edge-tts pydub tqdm

然后即可正常使用下方代码。


最终代码

import asyncio
import edge_tts
import os
import argparse
import json
import re
from pathlib import Path
from pydub import AudioSegment
import logging
from datetime import datetime, timedelta
from tqdm import tqdm# 配置日志系统
logging.basicConfig(level=logging.INFO,format="%(asctime)s - %(levelname)s - %(message)s",handlers=[logging.FileHandler("edge_tts.log", encoding='utf-8'),logging.StreamHandler()]
)
logger = logging.getLogger(__name__)# 路径配置
CACHE_FILE = Path.home() / ".edge_tts_voices.cache"
DEFAULT_OUTPUT_DIR = Path(r"C:\App\tts\Edge-TTS")
CACHE_EXPIRE_HOURS = 24# 分段参数
MAX_SEGMENT_LENGTH = 500  # 最大单段长度
MIN_SEGMENT_LENGTH = 50   # 最小合并长度
DELIMITER_PRIORITY = ['\n', '。', '!', '!', '?', '?', ';', ';', ',', ',']
IGNORE_PATTERNS = [r'(?<=\d)\.(?=\d)',       # 匹配小数点(前后都是数字)r'\b[a-zA-Z]\.(?=\s)',    # 匹配英文缩写(如"Mr."后面有空格)r'https?://\S+',          # 匹配完整URLr'www\.\S+\.\w{2,}'       # 匹配以www开头的网址
]async def get_voices(force_refresh=False) -> list:"""动态获取并缓存语音列表"""def should_refresh():if force_refresh or not CACHE_FILE.exists():return Truecache_time = datetime.fromtimestamp(CACHE_FILE.stat().st_mtime)return datetime.now() > cache_time + timedelta(hours=CACHE_EXPIRE_HOURS)if not should_refresh():try:with open(CACHE_FILE, 'r', encoding='utf-8') as f:return json.load(f)except Exception as e:logger.warning(f"缓存读取失败:{str(e)}")try:voices = await edge_tts.list_voices()chinese_voices = []for v in voices:if v['Locale'].lower().startswith('zh'):tags = []if "liaoning" in v["ShortName"].lower():tags.append("辽宁方言")if "shaanxi" in v["ShortName"].lower():tags.append("陕西方言")if "HK" 
http://www.dtcms.com/a/422387.html

相关文章:

  • 网站开发html5企业oa系统价格
  • 招网站开发人员软件技术特点
  • 第二课强登陆网站新型智库建设的意见网页设计制作导航栏
  • 论述网站建设流程公司ppt简介模板
  • 怎么看网站有没有做百度推广动漫网页设计作品欣赏
  • 现在的网站使用frameset做吗昆明网页制作开发
  • 茌平网站建设菜谱制作外贸网站建设谷歌推广
  • 做网站需要哪些知识淘宝可做的团购网站
  • 网站负责人不是法人微信上发的链接网站怎么做的
  • 防伪码查询网站怎么做的商务网站建设中的必备功能
  • seo网站推广软件排名wordpress文章生成分享图片插件
  • xml网站地图生成器扬州网站建设公元国际
  • 黄页网站推广服务网页设计案例欣赏
  • 高安网站设计网站审核文件
  • 零代码建站佛山网站建设在哪找
  • 深圳网站建设制作设计企业百度地图怎么看上次导航的路线
  • 中国建设教育协会网站查企业邮箱使用方法
  • 烟台消防建设信息网站cd.wordpress.ncn
  • 哪个网站上可以做代打哪些网站需要备案
  • 中山百度网站推广聊城做wap网站找谁
  • 企业网站程序制作wordpress引用文件
  • 广东省著名商标在什么网站做网站商品支付怎么做
  • 营销网站制作免费咨询找印度人做网站
  • 那个网站做图片好看的做英文的小说网站
  • 国内flex做的网站网页设计实训班
  • 上海网站建设 迈若在线绘画网站
  • jquery特效网站计算机编程培训学校哪家好
  • 广西建设职业技术学院青年网站做瞹免费视频网站
  • 济南市建设网站icp备案信息查询
  • 如何与网站建立私密关系人事处网站建设绩效目标概述