TTS 文本预处理全拆解:4款工业级开源工具横向对比+实操干货

语音识别-预处理 在进行特征提取之前,都要对原始序列做一系列的预处理,目的是消除因为人类发声器官本身和由于采集语音信号的设备所带来的混叠、高次谐波失真、高频等等因素,对语音信号质量的影响。尽可能保证后续语音处理得到的信号更均匀、平滑,为信号参数提取提供优质的参数,提高语音处理质量。常用的预处理方法有:端点检测其实就是找到语音信号的起始点和结束点。预加重目的是为了对语音的高频部分进行加重,去除口唇辐射的影响,增加语音... 阅读详情

做过语音合成、TTS 开发的同学都懂:文本归一化 TN 才是决定合成音色自然度的隐形天花板。

模型再强、音色再好,如果数字、日期、货币、符号转口语没处理好,读出来照样生硬别扭:`2026-05-11` 直接念字符串、`25℃` 乱读、百分比和分数发音错乱,用户体验直接拉胯。

中文场景尤其麻烦:全角半角混用、标点混乱、日期时间歧义、金额大小写、手机号编号读法,一堆细碎场景要兜底。与其自己手写几十条正则踩坑,不如直接用业界已经跑通生产环境的成熟开源工具。

今天把目前 TTS 圈内最常用、经过大厂落地验证的4 套文本预处理方案,从原理、源码思路、使用示例、性能、适用场景一次性拆透,同时补上大家需要的「TTS 文本归一化常用正则规则库 + 异常案例兜底清单」,新手直接开箱即用,老手可以按需二次定制,省去重复踩坑的时间。

一、先搞懂:TTS 为什么一定要做文本归一化?

很多入门开发者容易忽略一个点:TTS 模型只擅长读正常口语文本,看不懂非标准文本 NSW——阿拉伯数字、日期、时间、货币、度量、分数、百分比、特殊符号,都必须先转成纯中文口语,再进模型推理。

没做 TN 的典型翻车现场:

  • `14:30` 读成「一四三零」而不是「下午两点三十分」

  • `¥99.9` 直接读符号,不转「九十九点九元」

  • `50%` 读「五十百分号」而非「百分之五十」

  • 全角英文字母 `IPHONE` 逐个念字母,非常违和

所以标准 TTS 前置链路一定是:

原始文本 → 清洗规整 → 文本归一化 TN → 分词/多音字 → 韵律标注 → 进声学模型

下面四款工具,基本覆盖从轻量原型 → 企业生产 → 深度定制 → 全链路生态所有场景,每一款都附完整接入代码,复制就能用。

二、全能首选:WeTextProcessing(开源生产级方案)

如果只选一个工业化开箱即用的,我首推 WeTextProcessing。开源的实打实线上大规模跑过的 TTS 文本处理工具,覆盖中文 90% 以上归一化场景,同时支持 TN 文本归一化 + ITN 逆归一化 双向转换,不管 TTS 还是语音转写后文本还原都能用。

核心架构思路

在这里插入图片描述

整个流程分四层,设计非常规整,也是行业标准范式,源码可读性高,二次开发也方便:

预处理清洗 → Tagger 模式匹配打标 → Verbalizer 口语转换 → 后处理歧义优化

  1. 预处理清洗:统一格式化脏文本,全角转半角、中文标点转英文、过滤冗余语气词和无效符号,靠配置文件映射批量处理,不用手动写正则。

    • 全角字符 → 半角(IPHONE → IPHONE)
    • 中文标点 → 英文标点(“”→"")
    • 过滤语气词 / 冗余符号(呃、啊、多余空格)
    • 特殊字符白名单过滤,数据来源:data/char/fullwidth_to_halfwidth.tsv 等配置文件。
  2. Tagger 标记器:基于 WFST 规则匹配,识别文本里的日期、数字、货币、温度、百分比片段,打上类型标签,且按「日期优先于普通数字」的优先级规避歧义(比如「2026-05-11」优先识别为日期,而非单纯数字)。

    • 用 WFST 匹配预定义模式(数字、日期、¥、℃、%、时间等)
    • 给匹配到的片段打标签:date/number/money/measure等
    • 按优先级匹配:日期 > 普通数字,避免歧义规则文件:tn/chinese/rules/ 下按类型拆分date.py/number.py/money.py
  3. Verbalizer 转换器:把识别出的非标准文本,映射成标准中文口语,覆盖绝大多数中文场景。

    • 数字:123 → 一百二十三;3.14 → 三点一四
    • 日期:2026-05-11 → 二零二六年五月十一日
    • 货币:¥99.9 → 九十九点九元
    • 度量:25℃ → 二十五摄氏度
    • 分数 / 百分比:1/2 → 二分之一;50% → 百分之五十
    • 核心:用 WFST 把 “输入串” 映射为 “输出口语串”,支持上下文歧义处理。
  4. 后处理:修正拆分歧义、优化语句停顿、剔除冗余字,保证整句流畅自然,避免转换后出现生硬卡顿。

    • 歧义修正:避免拆分错误(下午 3 点→下午三点,不拆成 “下午”+“三点”)
    • 流畅度优化:调整停顿、冗余字
    • 输出最终的纯文本。

功能亮点

处理类型示例转换
数字转中文“3.14” → “三点一四”、“12345” → “一万二千三百四十五”
日期时间“2026-05-11” → “二零二六年五月十一日”、“14:30” → “下午两点三十分”
货币单位“$100” → “一百美元”、“¥99.9” → “九十九点九元”
特殊符号“25℃” → “二十五摄氏度”、“50%” → “百分之五十”
中文标点标准化“,。!?” 统一处理,添加自然停顿标记

快速接入

pip install WeTextProcessing
from tn.chinese.normalizer import Normalizer
normalizer = Normalizer()
text = "今天是2026-05-11,我有100元现金"
result = normalizer.normalize(text)
# 输出:"今天是二零二六年五月十一日,我有一百元现金"

核心优势与注意事项

性能:单句耗时仅 5ms 左右,完全满足线上实时 TTS 接口,支持批量处理和流式处理,适配高并发场景。

适合场景:企业级 TTS 服务、公有云语音接口、对准确率和稳定性要求高的生产项目,不用额外适配,开箱即用。

避坑提醒:默认不处理手机号逐位读法,若需要将「13800138000」转为「一三八零零一三八零零零」,需额外添加自定义规则。

三、轻量神器:cn2an 纯数字转换利器

很多时候我们不需要完整文本归一化,只需要搞定数字 ↔ 中文互转,不想引入重型依赖,那 `cn2an` 就是刚需标配。纯 Python 实现,零第三方依赖,轻量到可以嵌入小程序、客户端,性能拉满。

核心特点

  • 零第三方依赖、纯 Python 实现,安装包体积极小,不占用过多资源。

  • 算法极简:正向/反向遍历,时间复杂度 O(n),极致轻量,单句微秒级处理,肉眼无感知。

  • 支持四种转换模式:`strict / normal / smart / direct`,适配不同业务场景。

  • 兼容整数、小数、负数、日期、分数、百分比、金额大写,数字相关转换全覆盖。

四种模式核心区别:

  • strict:严格标准中文数字(如「一百二十三」,不允许「1百23」)。

  • normal:支持「一二三」简写,适配日常口语化文本。

  • smart:兼容「1百23」「三千5百」这类混合写法,适合处理用户输入的不规范文本。

  • direct:逐位直译不做语义合并(如「123」→「一二三」,适合手机号、编号读法)。

功能亮点

  • 支持 “123"↔"一百二十三” 基础转换
  • 智能识别上下文:“2026 年"→"二零二六年”,“1/2"→"二分之一”
  • 处理混合数字:“第 123 名"→"第一百二十三名”,“约 500 人"→"约五百人”
  • 支持大小写金额转换:“100 元"→"壹佰元整”

常用能力演示

pip install cn2an
import cn2an

## 中文数字 => 阿拉伯数字
# 最大支持到 `10**16`,即 `千万亿`,最小支持到 `10**-16`。

# 在 strict 模式(默认)下,只有严格符合数字拼写的才可以进行转化
output = cn2an.cn2an("一百二十三")
# 或者
output = cn2an.cn2an("一百二十三", "strict")
# output:
# 123

# 在 normal 模式下,可以将 一二三 进行转化
output = cn2an.cn2an("一二三", "normal")
# output:
# 123

# 在 smart 模式下,可以将混合拼写的 1百23 进行转化
output = cn2an.cn2an("1百23", "smart")
# output:
# 123

# 以上三种模式均支持负数
output = cn2an.cn2an("负一百二十三", "strict")
# output:
# -123

# 以上三种模式均支持小数
output = cn2an.cn2an("一点二三", "strict")
# output:
# 1.23

# 在 direct 模式下,只做逐位原样转化,并返回字符串
output = cn2an.cn2an("零零三", "direct")
# output:
# 003

output = cn2an.cn2an("一二点三零", "direct")
# output:
# 12.30

## 阿拉伯数字 => 中文数字
# 最大支持到`10**16`,即`千万亿`,最小支持到 `10**-16`。

# 在 low 模式(默认)下,数字转化为小写的中文数字
output = cn2an.an2cn("123")
# 或者
output = cn2an.an2cn("123", "low")
# output:
# 一百二十三

# 在 up 模式下,数字转化为大写的中文数字
output = cn2an.an2cn("123", "up")
# output:
# 壹佰贰拾叁

# 在 rmb 模式下,数字转化为人民币专用的描述
output = cn2an.an2cn("123", "rmb")
# output:
# 壹佰贰拾叁元整

# 以上三种模式均支持负数
output = cn2an.an2cn("-123", "low")
# output:
# 负一百二十三

# 以上三种模式均支持小数
output = cn2an.an2cn("1.23", "low")
# output:
# 一点二三

# 在 direct 模式下,只做逐位原样转化
output = cn2an.an2cn("012", "direct")
# output:
# 零一二

output = cn2an.an2cn("12.30", "direct")
# output:
# 一二点三零

## 句子转化

# 在 cn2an 方法(默认)下,可以将句子中的中文数字转成阿拉伯数字
output = cn2an.transform("小王捡了一百块钱")
# 或者
output = cn2an.transform("小王捡了一百块钱", "cn2an")
# output:
# 小王捡了100块钱

# 在 an2cn 方法下,可以将句子中的中文数字转成阿拉伯数字
output = cn2an.transform("小王捡了100块钱", "an2cn")
# output:
# 小王捡了一百块钱

# direct=True 时,句子中的数字只做逐位原样转化,不做日期、范围等额外处理
output = cn2an.transform("电话零零三,二〇〇二年", "cn2an", direct=True)
# output:
# 电话003,2002年

output = cn2an.transform("电话012,1-2个月", "an2cn", direct=True)
# output:
# 电话零一二,一-二个月


## 支持日期
output = cn2an.transform("小王的生日是二零零一年三月四日", "cn2an")
# output:
# 小王的生日是2001年3月4日

output = cn2an.transform("小王的生日是2001年3月4日", "an2cn")
# output:
# 小王的生日是二零零一年三月四日


## 支持分数
output = cn2an.transform("抛出去的硬币为正面的概率是二分之一", "cn2an")
# output:
# 抛出去的硬币为正面的概率是1/2

output = cn2an.transform("抛出去的硬币为正面的概率是1/2", "an2cn")
# output:
# 抛出去的硬币为正面的概率是二分之一

## 支持百分比
output = cn2an.transform("抛出去的硬币为正面的概率是百分之五十")
# output:
# 抛出去的硬币为正面的概率是50%

output = cn2an.transform("抛出去的硬币为正面的概率是50%", "an2cn")
# output:
# 抛出去的硬币为正面的概率是百分之五十


## 支持摄氏度
output = cn2an.transform("现在温度是100℃", "an2cn")
# output:
# 现在温度是一百摄氏度

output = cn2an.transform("现在温度是一百摄氏度", "cn2an")
# output:
# 现在温度是100℃

核心优势与适用场景

性能:单句微秒级处理,比 WeTextProcessing 更快,适合对性能要求极高的轻量场景。

适合场景:快速原型开发、小程序/客户端轻量 TTS、仅需数字转换的业务场景(如财务金额、编号读法),不用引入复杂依赖,省时间。

避坑提醒:不支持全角半角转换、标点规整,若需要完整文本清洗,需搭配简单正则使用(后面会补充)。

四、定制专属方案:chinese_text_normalization

如果你有行业特殊术语、自定义读法、需要改规则二次开发,那这款基于正则+手写规则的开源项目最合适。源码完全透明,模块化拆分,每一条规则都能自定义修改,适配政企、医疗、金融等行业定制 TTS 场景。

核心设计

采用模块化拆分,数字、日期、时间、货币、手机号、分数等场景独立规则,修改某一类场景时,不会影响其他功能,二次开发成本极低:

  • 基础清洗模块:全角半角、大小写、冗余空格、语气词自动清理,可配置开关。
    • 全角 ↔ 半角转换
    • 英文大小写转换
    • 过滤标点符号
    • 删除冗余空格
    • 去除语气词(呃、啊)
    • 智能去除儿化音(保留白名单:儿女、婴儿等)
  • 归一化模块:按场景拆分,支持自定义读法(如行业术语「5G」可转为「五吉」)。
    • 日期:2025 年 08 月 22 日 → 二零二五年八月二十二日
    • 金钱:100.5 元 → 一百点五元
    • 手机号 / 固话:13800138000 → 一三八零零一三八零零零
    • 分数:1/2 → 二分之一
    • 百分数:50% → 百分之五十
    • 数字 + 量词:25℃ → 二十五
    • 纯数字:1234 → 一千二百三十四
    • 数字编号:10086 → 一零零八六
  • 辅助模块:儿化音智能剔除(保留儿女、婴儿等白名单)、简繁互转、批量/流式处理。

功能亮点

  • 模块化设计:数字、日期、时间、货币、度量衡等独立规则模块
  • 支持中英文混合文本处理:“iPhone 13"→"爱疯十三”
  • 可自定义规则:通过配置文件添加行业特定术语转换
  • 支持批量处理与流式处理两种模式

常量定义

  • 中文数字(零一二三四五…)、大小写数字、数位单位(十百千万亿兆…)
  • 货币、量词、标点符号、全角转半角映射表 QJ2BJ
  • 儿化音白名单、填充词(呃、啊)等

核心类结构

  • ChineseChar / ChineseNumberUnit / ChineseNumberDigit / ChineseMath
  • NumberSystem / MathSymbol 数字系统封装

核心转换函数

  • create_system():创建中文数字系统
  • chn2num():中文数字 → 阿拉伯数字
  • num2chn():阿拉伯数字 → 中文数字
  • NSWNormalizer:非标准词(日期、金钱、电话、分数、百分数)标准化

辅助工具函数

  • remove_erhua():去除儿化音
  • quanjiao2banjiao():全角转半角
  • check_chars():非法字符校验

接入示例

pip install opencc-python-reimplemented
from cn_tn import TextNorm

# 自定义配置:全角转半角、移除冗余语气词、剔除儿化音
normalizer = TextNorm(
    to_banjiao=True,       # 全角转半角
    remove_fillers=True,   # 去语气词
    remove_erhua=True,     # 去儿化音
    to_lower=False,        # 英文不大写
    check_chars=False      # 不检查非法字符
)
test_text = "今天是2026年5月11日,我买了3个苹果,花了15.5元"
normalizer(test_text)
# '今天是二零二六年五月十一日 我买了三个苹果 花了十五点五元'

核心优势与适用场景

性能:单句耗时约 3ms,比 WeTextProcessing 略快,支持批量处理,适配中高并发场景。

适合场景:政企定制 TTS、行业专属术语(如医疗、金融)、需要私自改归一化规则的专业项目,源码透明,可深度定制。

避坑提醒:默认规则不如 WeTextProcessing 全面,需要根据自身业务补充规则,建议结合后面的正则规则库使用。

五、全链路生态:PaddleSpeech 文本前端

如果你本身就在用飞桨语音生态,不想自己拼装工具,直接用 PaddleSpeech 内置文本前端 一步到位。它不只是做文本归一化,而是完整 TTS 前置全链路,省去自己整合工具的麻烦。

完整链路:文本清洗 → 归一化 → 分词 → 多音字纠错 → 拼音声调 → 韵律停顿预测,输出可直接喂给 TTS 模型训练和推理的音素序列。

亮点最实用的一点:上下文智能多音字消歧,解决「银行/行走」「长大/长短」这类传统正则搞不定的场景,这是其他三款工具不具备的优势。

功能亮点

  • 全流程文本处理:清洗→归一化→分词→拼音标注→韵律预测
  • 强大的多音字处理:基于上下文的智能多音字纠正(如 “银行"vs"行走”)
  • 支持 SSML 标记语言:可控制语速、音调、停顿等语音参数
  • 无缝集成 PaddleSpeech 的 TTS 模型

简单使用

pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
pip install pytest-runner
pip install paddlespeech
from paddlespeech.t2s.frontend.zh_frontend import Frontend

frontend = Frontend()
text = "12345元,2026年5月11日,北京欢迎你"
phones = frontend.get_phonemes(text)
# 输出拼音序列与声调信息,直接用于TTS模型输入
['i1','uan4','er4','q','ian1','s','an1','b','ai3','s','ii4','sh','iii2','u3','van2','sp',
 'er4','l','ing2','er4','l','iou4','n','ian2','u3','ve4','sh','iii2','i2','r','iii4','sp','b','ei3','j','ing1','h','uan1','ing2','n','i3']

整句:一万二千三百四十五元,二零二六年五月十一日,北京欢迎你

符号类型含义示例
字母组合声母 / 韵母(普通话声韵拆分)b (玻), j (基), ing (英)
数字 1-4普通话四声1 = 阴平 (ˉ)、2 = 阳平 (ˊ)、3 = 上声 (ˇ)、4 = 去声 (ˋ)
sp静音停顿(标点 / 断句生成)逗号、句号对应的静音
ii / iii卷舌音 / 整体认读音节(模型专用写法)sh+iii = 师 (shī)

核心优势与适用场景

性能:单句耗时约 6ms,略低于其他三款工具,但胜在全链路一站式,不用额外整合。

适合场景:飞桨语音生态项目、端到端 TTS 开发、需要完整前置链路(多音字+韵律)的场景,省去拼装工具的时间。

避坑提醒:依赖飞桨生态,若项目不使用 PaddlePaddle,不建议引入,会增加额外依赖成本。

注意:paddlespeech项目中的utils下的zh_tn.py代码复用chinese_text_normalization项目下的cn_tn.py文件

新增了:

  1. 文本清洗函数:remove_weird_chars、remove_extra_linebreaks、remove_symbols 等
  2. 中文分词(jieba)、字符 / 词切分
  3. 命令行参数解析(argparse)
  4. 批量文本处理的 main 函数
from zh_tn import NSWNormalizer

# 待处理文本
text = "12345元,2026年5月11日,手机号13800138000,80.5%,3/4,0595-12345678"

# 归一化
res = NSWNormalizer(text).normalize()

print("原始:", text)
print("归一化后:", res)
# 原始: 12345元,2026年5月11日,手机号13800138000,80.5%,3/4,0595-12345678
# 归一化后: 一万两千三百四十五元,二零二六年五月十一日,手机号一三八零零一三八零零零,百分之八十点五,四分之三,零五九五一二三四五六七八

六、四款工具横向选型对照表

工具名称核心优势性能(单句耗时)适用场景依赖成本
WeTextProcessing工业级全能、双向TN/ITN、大厂生产验证、场景全覆盖约5ms企业线上TTS、标准语音服务、高稳定性需求中等(需安装相关依赖)
cn2an零依赖、超轻量、数字转换拉满、性能极致微秒级原型开发、轻量应用、仅数字处理场景极低(零第三方依赖)
chinese_text_normalization规则透明、可深度定制、模块化、适配行业需求约3ms行业定制、私有规则改造、二次开发低(少量依赖)
PaddleSpeech 前端全链路一站式、多音字消歧、适配飞桨生态约6ms飞桨生态项目、端到端TTS开发较高(依赖飞桨框架)

七、TTS 文本预处理标准落地流程

不管用哪款工具,按这个流程走,合成流畅度直接拉满,避免出现翻车场景,这是我在多个生产项目中验证过的标准流程:

  1. 基础清洗:过滤乱码、特殊控制符、多余换行空格,统一全角半角、中英文标点,剔除冗余语气词。

  2. 归一化转换:将数字、日期、货币、符号、度量等非标准文本,统一转成中文口语,规避歧义。

  3. 标点规整:统一中英文标点(如「,」替换为「,」),合理插入停顿(如句号、逗号后添加短停顿)。

  4. 多音字消歧:处理上下文相关的易错读音(如「银行」读「yín háng」,而非「yín xíng」)。

  5. 韵律标记:按标点和语义加入停顿标记,适配 TTS 模型的韵律合成,避免生硬卡顿。

八、干货补充:TTS 文本归一化常用正则规则库 + 异常案例兜底清单

这部分是重点,不管用哪款工具,都能用到——整理了生产环境中最常见的异常场景,搭配可直接复制的正则规则,兜底工具未覆盖的边缘案例,减少踩坑。

(一)常用正则规则库

所有正则都带注释,可根据自身业务调整,主要用于补充工具未覆盖的场景:

import re

def tts_text_clean(text):
    # 1. 过滤特殊控制符(换行、制表符、空格等)
    text = re.sub(r'[\n\t\r]', '', text)
    text = re.sub(r'\s+', ' ', text).strip()
    
    # 2. 全角转半角
    def full2half(s):
        result = ""
        for char in s:
            code = ord(char)
            if code == 12288:  # 全角空格
                code = 32
            elif 65281 <= code <= 65374:  # 全角字符
                code -= 65248
            result += chr(code)
        return result
    text = full2half(text)
    
    # 3. 手机号/固话逐位读法
    # 匹配手机号(11位)、固话(如010-12345678)
    text = re.sub(r'(\d{11})', lambda x: ''.join([c + ' ' for c in x.group()]).strip(), text)
    text = re.sub(r'(\d{3,4}-\d{7,8})', lambda x: ''.join([c + ' ' if c != '-' else ' ' for c in x.group()]).strip(), text)
    
    # 4. 特殊符号归一化(如℃、%、$等,补充工具遗漏场景)
    text = re.sub(r'℃', '摄氏度', text)
    text = re.sub(r'%', '百分之', text)
    text = re.sub(r'\$', '美元', text)
    text = re.sub(r'€', '欧元', text)
    
    # 5. 冗余语气词过滤(补充工具未覆盖的语气词)
    fill_words = r'嗯|哦|啊|呀|呢|吧|啦|呵|哈'
    text = re.sub(f'[{fill_words}]', '', text)
    
    # 6. 日期歧义修正(如「2026.5.11」转为「2026年5月11日」)
    text = re.sub(r'(\d{4})\.(\d{1,2})\.(\d{1,2})', r'\1年\2月\3日', text)
    
    return text

# 测试正则效果
test_text = "嗯,今天是2026.5.11,手机号13800138000,气温25℃,折扣50%,固话010-12345678"
print(tts_text_clean(test_text))
# 输出:今天是2026年5月11日,手机号一 三 八 零 零 一 三 八 零 零 零,气温25摄氏度,折扣50百分之,固话零 一 零  一 二 三 四 五 六 七 八

(二)异常案例兜底清单

整理了10个生产环境中最常见的异常案例,包含问题描述、解决方案,直接对应到上面的工具和正则,避免踩坑:

异常案例问题描述解决方案
案例1:「2026.5.11」点号分隔日期,工具无法识别,读成「二零二六点五点十一」用正则将「.」替换为「年」「月」,再用工具归一化
案例2:「13800138000」手机号被识别为普通数字,读成「十三亿八千万一百三十八万」用正则逐位拆分,或用cn2an的direct模式转换
案例3:「5G/4G」行业术语,工具无法识别,读成「五G/四G」用正则替换为「五吉/四吉」,或修改chinese_text_normalization规则
案例4:「¥100.50」小数末尾的0被忽略,读成「一百点五」,不符合财务场景用cn2an的up模式转为大写,或补充正则保留末尾0
案例5:「全角123456」全角数字未转换,工具识别异常,读成字符串用全角转半角正则,再进行归一化
案例6:「银行/行走」多音字歧义,工具读错声调用PaddleSpeech前端的多音字消歧,或手动添加上下文规则
案例7:「3/4吨」分数+度量组合,工具只转换分数,忽略度量先归一化分数,再用正则补充度量读法(如「四分之三吨」)
案例8:「嗯,今天天气不错」冗余语气词,合成时生硬卡顿用正则过滤语气词,或开启chinese_text_normalization的remove_fillers开关
案例9:「010-12345678」固话被识别为普通数字,读错格式用正则逐位拆分,补充固话读法规则
案例10:「IPhone 15」英文+数字组合,读成「IPhone十五」,违和感强用正则将英文逐位读(如「爱 皮 哄 一 五」),或替换为中文名称

九、总结:按需选型,少走弯路

  • 做正式线上生产:闭眼用 WeTextProcessing,大厂验证、场景全覆盖,省心少踩坑,搭配正则规则库兜底边缘案例。

  • 做快速开发、只转数字:cn2an 必装,轻量零依赖,数字转换拉满,适合原型和轻量应用。

  • 有行业定制、改规则需求:基于 chinese_text_normalization 二次开发,源码透明,模块化设计,适配行业特殊场景。

  • 用Paddle 语音生态:直接用自带前端,全链路一站式搞定,重点解决多音字消歧问题,省去工具拼装麻烦。

其实 TTS 文本预处理,核心就是覆盖场景+规避歧义+适配口语,不用追求复杂,选择一款适合自己业务的工具,搭配常用正则和异常兜底,就能满足绝大多数生产需求。

如果大家在实际开发中遇到其他未覆盖的异常案例,或者需要某款工具的二次开发教程,可以在评论区留言。

AI API实战指南:从调用到架构,打造稳定高效的智能应用 在当今的软件开发领域,API(应用程序编程接口)是连接不同服务与功能的核心桥梁,它定义了软件组件之间交互的协议与方式。随着人工智能技术的普及,AI API作为一种新型接口,其核心原理在于通过标准化的网络请求,调用云端强大的大语言模型能力,将复杂的智能计算转化为可编程的服务。这种技术的核心价值在于极大地降低了AI的应用门槛,使开发者无需深厚的人工智能背景,也能快速集成文本生成、代码补全、逻辑推理等高级功能。其应用场景广泛,从智能客服、内容创作助手到数据分析工具,无处不在。本文聚焦于如何高效、稳定地运用AI A 阅读详情

相关推荐

基于Java17、SpringBoot、vue3、antdv-next、uniapp等主流技术构建的全场景极速开发平台 MDP内置3个web端、1个移动端 重点解决用户中心、开发者平台、管理后台3个应

MDP-主数据平台,后端项目。专注于单点登录解决方案。内置用户中心、开发者平台、管理后台3个应用。包含:单点登录、Oauth2 登录、用户身份管理、应用申请、应用接入、主数据维护、主数据订阅、主数据广播、应用接口调用、接口管理管理和查看、系统配置等功能。

TTS技术在语音识别中的应用:提升语音交互的准确性

作者:禅与计算机程序设计艺术 TTS技术在语音识别中的应用:提升语音交互的准确性 引言 1.1. 背景介绍 随着人工智能技术的快速发展,语音助手、智能家居等智能设备越来越普及,语音交互已经成为人们

AI天才研究院 5366

Win7时间修复(时间错误修复文件)

运行方法:解压后运行reg文件即可。 支持的Win7版本: 1. Windows 7 Starter(入门版 / 初级版) 2. Windows 7 Home Basic(家庭普通版) 3. Windows 7 Home Premium(家庭高级版) 4. Windows 7 Professional(专业版) 5. Windows 7 Enterprise(企业版) 6. Windows 7 Ultimate(旗舰版) 7. Windows 7 Professional for Embedded Systems(嵌入式专业版) 8. Windows 7 Ultimate for Embedded Systems(嵌入式旗舰版)

不用请配音演员!IndexTTS 2.0自动生成高质量旁白

本文介绍了如何在星图GPU平台上自动化部署IndexTTS 2.0!这款自回归零样本语音合成模型,支持上传人物音频与文字内容,一键生成匹配声线特点的音频,轻松搞定各类配音需求。通过星图GPU平台,用户可快速实现短视频旁白的毫秒级精准卡点生成,显著提升视频创作效率。

weixin_29025501的博客 420

YOLO26算法行人行走检测+训练好的模型+102张数据集+pyqt可视化界面.zip

附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[行走的人(person walking)] 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 67 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.8000** mAP50-95 | 0.5620 Precision | 0.5795 Recall | 0.8235 train/box_loss | 0.9538 train/cls_loss | 1.9897 val/box_loss | 0.9034 val/cls_loss | 2.7344 【训练过程分析】 进入训练阶段后,模型一开始的 mAP50 和 mAP50-95 均为 0.8000 和 0.5620,表明在开始阶段模型的收敛情况良好。从第 30 轮起,训练集的 mAP50 值稳定在了 0.8000,这说明模型在这之前能够迅速捕捉到主要目标,但精度提升的余地已然不大。同时,mAP50-95 在训练集上表现略差,从第 50 轮开始慢慢往上走至 0.5620。这反映出模型在检测更小、更远的目标上还存在一定差距,精度成为瓶颈。 随着训练深入,模型在验证集上的表现开始分化。从第 60 轮开始,验证集的 mAP50 和 mAP50-95 值分别为 0.7500 和 0.4500,相比训练集下降明显,表明模型存在一定程度的过拟合现象。训练集上的 box loss 和 cls loss 值分别为 ... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。

科技中介服务机构想要提升服务效率,需要哪些数智工具支持?.docx

科技中介服务机构想要提升服务效率,需要哪些数智工具支持?

通过FastSpeech2中文项目梳理TTS流程1: 数据预处理(preprocess.py)

1. 参考github网址:https://github.com/roedoejet/FastSpeech2 2. 数据预处理所用python 命令: python3 preprocess.py config/AISHELL3/preprocess.yaml 3. 预处理代码解析: 主要运行的代码是preprocessor文件夹下的preprocessor.py 3.1 代码架构overview: 主要是一个class: class Preprocessor: 下面有 6个functio.

weixin_42745601的博客 2059

usb 扩容盘检测修复工具源码,编译产物

usb 扩容盘检测修复工具源码,编译产物

TTS前处理python脚本

def getMfcc(child, allDir, mfcc_path): """ allDir: 音频文件名; child: allDir文件的绝对路径 功能: 提取allDir的mfcc特征数组,将其保存到allDir目录中的mfcc.h5文件中,并生成字典dict_output保存 特征数组的路径、数组名及其大小。 """ import scipy.io.wavfile as wav import numpy as np.

weixin_43692144的博客 470

政府科技管理者在推动科技成果转化时,如何解决政策对接不精准导致的项目落地难?.docx

政府科技管理者在推动科技成果转化时,如何解决政策对接不精准导致的项目落地难?

融合UWB和IMU割草机定位EKF研究(Matlab代码实现)

内容概要:本文主要介绍了一个名为“Plecs全桥LLC谐振变换器仿真模型”的技术资源,该资源聚焦于电力电子领域中的LLC谐振变换器建模与仿真,涵盖开环、闭环控制、软启动设计及参数优化等核心内容。文档不仅提供了LLC变换器的详细建模方法与仿真案例,还系统梳理了其在高效电源转换系统中的应用,包括隔离型全桥拓扑结构的设计与性能分析。此外,资源汇总了大量Matlab/Simulink仿真模型及相关科研方向,涉及新能源并网、储能控制、电机驱动等多个前沿领域,全面展示LLC谐振变换器在现代电力系统中的关键技术实现路径。同时,文档附带多种学习资料获取途径,如网盘链接和公众号资源,便于研究人员深入实践与拓展研究。; 适合人群:具备扎实的电力电子、自动控制理论基础,从事新能源发电、开关电源设计、电力系统仿真等相关领域的研究生、工程师及科研人员。; 使用场景及目标:①深入理解LLC谐振变换器的工作原理、建模方法与控制策略;②开展电力电子变换器的仿真验证与参数优化设计;③支撑科研项目、学位论文或工程项目的系统仿真与方案验证; 阅读建议:建议结合所提供的仿真模型与参考文献,使用Plecs或Simulink软件进行动手实践,重点掌握LLC谐振变换器的建模流程、闭环控制设计、软启动机制及参数调试技巧,以全面提升在实际工程中的应用与创新能力。

隔离型全桥LLC谐振变化器建模及参数设计资料【仿真+设计报告+计算书】

内容概要:本文档系统性地介绍了隔离型全桥LLC谐振变换器的建模、参数设计与控制策略研究,配套提供Simulink闭环仿真模型、详细设计报告及Mathcad计算书等全套技术资料。内容涵盖变频与移相混合控制、谐振参数优化、软启动过程分析、恒压恒流双闭环控制等核心技术,并延伸至2.5kW双向全桥LLC、多相交错LLC等多种典型应用场景。此外,资料还整合了PFC、DAB、CLLC、三电平变换器等相关电力电子拓扑的仿真与控制设计资源,辅以PPT说明、参考文献与程序代码,构建了一个面向科研与工程实践的完整技术解决方案。; 适合人群:具备电力电子与电力系统基础知识,从事新能源变换器、高频开关电源、车载充电机、储能系统等方向研究的研究生、工程师及科研人员。; 使用场景及目标:① 掌握LLC谐振变换器的小信号建模方法与谐振腔参数匹配设计流程;② 学习高频软开关电路的闭环控制策略与稳定性分析方法;③ 借助仿真模型快速验证不同工况下的系统动态性能,支撑科研项目开发、论文撰写与产品原型设计。; 阅读建议:建议结合Mathcad计算书与Simulink仿真模型同步调试,重点剖析谐振元件选型依据、控制环路动态响应特性及闭环系统稳定性判据,强化理论与实践的深度融合,全面提升高频隔离变换器的工程设计能力。

基于变频控制的多相交错LLC谐振变换器闭环仿真(Simulink仿真实现)

基于变频控制的多相交错LLC谐振变换器闭环仿真(Simulink仿真实现)内容概要:本文主要介绍了基于Plecs的全桥LLC谐振变换器仿真模型,涵盖变频控制下的多相交错LLC谐振变换器闭环仿真、V2G电动汽车ACDC整流与双向CLLC谐振变换器充放电仿真、LLC谐振变换器的开环与闭环软启动设计,以及储能系统中双向Buck-Boost变换器结合模型预测电流控制和电压下垂控制的仿真研究。同时,文档列举了多种电力电子系统与控制策略的Simulink/Plecs仿真案例,涉及三相交错并联Buck变换器、三电平Buck直流变换器、单相Boost PFC电路等,展示了丰富的电力变换器建模与控制技术。此外,还包括参数设计报告、计算书及相关参考文献,适用于从事电力电子、新能源发电、电动汽车充放电系统等领域的研究人员和技术开发人员。; 适合人群:具备电力电子、自动控制理论基础,从事新能源、电动汽车、电力系统等相关领域研究的研发人员、高校研究生及高年级本科生。; 使用场景及目标:① 学习和掌握LLC谐振变换器及其他典型电力电子变换器的工作原理与建模方法;② 实现闭环控制策略如变频控制、软启动、模型预测控制、下垂控制等的仿真验证;③ 支持科研项目、毕业设计或工程开发中的系统仿真与优化设计。; 阅读建议:建议结合文中提供的仿真模型、设计报告与参考文献,逐步搭建并调试相应系统,重点关注控制策略的实现细节与参数整定过程,以深入理解系统动态响应特性与控制性能。

三电平Buck直流变换器双闭环、单闭环、开环仿真【附参考文献】(Simulink仿真实现)

内容概要:本文提供了一套关于三电平Buck直流变换器的Simulink仿真资源,系统地实现了开环、单闭环与双闭环三种控制模式的建模与仿真,并附有参考文献支持。资源重点展示了不同控制策略下变换器在动态响应、稳定性和抗干扰能力方面的性能差异,尤其突出了双闭环控制在提升系统响应速度、抑制负载扰动和增强电压调节精度方面的显著优势。通过对比分析三种控制结构的仿真结果,帮助使用者深入理解反馈控制机制对电力电子系统性能的影响,适用于高精度电源管理和新能源系统等对电能质量要求较高的应用场景。; 适合人群:电力电子、自动化、电气工程等相关专业的本科生、研究生及科研人员,以及从事开关电源设计、新能源变换器开发、工业电源系统优化等方向的工程技术人员。; 使用场景及目标:①学习三电平Buck变换器的工作原理及其建模方法;②掌握电压模式控制与电流模式控制的基本设计思路;③对比分析开环、单闭环与双闭环控制系统的动态与稳态性能;④开展电力电子变换器控制器的设计、优化与验证,支撑课程实验、毕业设计或科研项目中的控制系统研究。; 阅读建议:建议结合提供的Simulink仿真模型与参考文献进行同步学习,动手搭建并调试不同控制结构,观察输出电压、电感电流等关键波形的变化,深入理解PI参数调节、反馈环路设计对系统性能的影响,从而全面提升对现代电力电子控制系统的设计与分析能力。

独立储能的现货电能量与调频辅助服务市场出清协调机制(Matlab代码实现)

内容概要:本文标题为“Plecs全桥LLC谐振变换器仿真模型”,但实际内容严重偏离主题,文档中混杂了大量来自优快云博客平台的无关信息,涵盖多个不同领域的Matlab/Simulink仿真项目,如电力系统优化、无人机路径规划、机器学习预测、微电网调度、卡尔曼滤波、无线能量传输等,导致核心内容缺失。文档未能提供关于Plecs平台下全桥LLC谐振变换器的建模方法、电路结构、参数设计、控制策略或仿真结果等关键技术细节,实质信息与标题完全不符,不具备作为该主题参考资料的有效性。; 适合人群:从事电力电子变换器研究、电源系统设计及相关领域的工程师、高校研究生与科研人员,尤其是希望掌握LLC谐振变换器建模与仿真的专业技术人员。; 使用场景及目标:① 学习并掌握全桥LLC谐振变换器的工作原理与Plecs仿真建模技术;② 开展高效电源转换器的研发与性能优化;③ 作为教学或科研项目中电力电子电路仿真的参考资料。; 阅读建议:鉴于文档内容与标题严重不符,建议读者谨慎甄别,优先选择专业书籍、学术论文或官方仿真软件教程等权威资源进行学习,避免被无效信息误导。

基于多元宇宙优化算法的微电网日前经济调度模型研究(Matlab代码实现)

内容概要:文档《Plecs全桥LLC谐振变换器仿真模型.txt》虽以“Plecs全桥LLC谐振变换器仿真模型”为名,实则是一份涵盖电力电子、电力系统、电机控制、新能源并网、微电网优化调度、储能系统、电动汽车调度、无人机路径规划、信号处理、雷达与状态估计等多个技术方向的综合性仿真资源汇编。内容依托Matlab/Simulink、PLECS、PSCAD等主流仿真平台,聚焦于现代优化算法(如粒子群、遗传算法、多目标差分进化、多元宇宙算法等)在能源系统建模、参数优化与控制策略设计中的应用。文档不仅提供了丰富的仿真案例和研究主题,还附带大量可下载的仿真代码、模型及参考文献,构成一个服务于科研与教学的资源集合。; 适合人群:具备电力电子、电力系统、自动化、控制工程或相关专业背景的研究生、科研人员及工程技术人员,尤其适合熟悉Matlab/Simulink、PLECS或PSCAD等仿真工具并从事相关领域研究的人员。; 使用场景及目标:①为电力系统动态分析、微电网能量管理、电机驱动控制、无人机路径规划等课题提供仿真建模思路与实例参考;②学习和复现先进智能优化算法在复杂工程问题(如经济调度、参数辨识、故障诊断)中的实现方法;③获取可用于学术论文撰写、毕业设计或科研项目申报的完整仿真资源与技术支持。; 阅读建议:此文档为典型的资源聚合型文本,建议读者根据自身研究方向有针对性地选择相关章节进行深入研读,优先关注与自己课题契合度高的仿真模型和算法实现,并结合所提供的代码与模型进行实践验证与二次开发,注意区分不同研究主题的边界,避免信息混淆。

上一篇: LangChain基础学习笔记
下一篇: OpenResty+Lua 实战:大模型服务精准并发限流与超量自动降级方案
uncle_ll
uncle_ll 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄13年 5864粉丝 946原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

uncle_ll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值