语音识别合成框架
一、语音识别
(一) 基于现有部署的funasr
1. 部署环境
请求地址:http://127.0.0.1:9996/v1/audio2txt
请求参数:
| { "input": "http://127.0.0.1http:// } |
2. 测试情况
| 文件 | 大小 | 语音时长 | 语言类型 | 结果准确和一致性 | 耗时(去最大最小) |
| output1.wav | 873 K | 19s | 普通话 | 准确,一致 | 376.625 ms |
| output1.mp3 | 202 K | 19s | 普通话 | 准确,一致 | 269.875 ms |
| 01.wav | 11 M | 3m | 普通话 | 准确90%,不一致(断句) | 10.99 s |
| 01.mp3 | 1 M | 3m | 普通话 | 准确90%,不一致(断句) | 0.087 s |
| guangdong-siyu.wav | 1.7 M | 19s | 粤语 | 准确60%,不一致 50% | 825.75 ms |
output1.wav

output1.mp3

01.wav

01.mp3

guangdong-siyu.wav

3. 苏州话音频测试
| { "input": "http://127.0.0.1http:// } |
原始普通话意思
| 人生最幸福的事之一,就是通过自己的努力,一点点看着自己变得更好,一步步向着目标靠近。 别太畏手畏脚,也不必过分羡慕别人的成就,从自己的内心获取力量,把时间用在提升自己上面。当我们自己变得越来越好,自然能够吸引越来越多美好的人和事。 给自己以时间,让自己去成长。当一个人学会专注自己的成长,人生就有了更多的可能。 |
识别情况

二、语音合成
(一) 微软Edge-TTS
1. 基本信息
开源地址:https://github.com/rany2/edge-tts
开源协议:LGPL-3.0 license
基于LGPL的开源协议:
a)不修改源码情况下,调用 Edge-TTS(动态链接),代码可以商业化闭源,需要提供 Edge-TTS 许可证信息(例如在软件的“关于”页面或文档中说明 Edge-TTS 来自 LGPL-3.0 许可)。
b)修改源码情况下,需要开源修改部分,本身业务代码仍然可以闭源。

2. 部署环境
请求参数:
| { "text": "在现代社会,信息技术的飞速发展为各行各业带来了深刻的变革。从人工智能到大数据,从云计算到物联网,这些技术不仅改变了我们的生产方式,也重新塑造了我们的生活方式。尤其是在医疗领域,信息技术的应用正在推动着医疗行业的创新与发展。首先,人工智能(AI)在医学诊断中的应用日益广泛。通过深度学习和机器学习算法,AI可以帮助医生分析医学影像、识别疾病症状、预测病情变化等。例如,在癌症早期筛查中,AI技术已经能够在成千上万的医学影像中准确识别出异常情况,甚至能够在早期阶段发现病灶,这大大提高了诊断的准确性和效率。除了影像诊断,AI还可以辅助医生进行个性化治疗方案的制定,根据患者的基因信息、生活习惯、病史等多维度数据,帮助制定更为精准的治疗方案。其次,大数据技术的应用也为医疗行业带来了巨大的价值。通过对海量健康数据的收集和分析,医疗服务提供者可以更好地了解患者的健康状况,预测潜在的疾病风险。例如,智能健康设备能够实时监测个人的心率、血糖、血压等健康指标,并通过大数据分析提供健康建议。这种数据驱动的方式使得医疗服务更加精准、个性化,并且能在疾病发生之前就进行干预,避免了许多不必要的健康问题。在医院管理方面,信息技术也发挥着重要作用。通过电子病历系统,医生和护士可以快速获取患者的历史病历、检查结果、用药记录等信息,减少了纸质病历带来的管理困扰,并且提升了患者就诊的效率。此外,医院的资源管理、排班系统、药品管理等也都得到了信息化的支持,优化了医院的运营流程,提升了患者的就医体验。然而,信息技术在医疗领域的广泛应用也面临着一些挑战。数据安全和隐私保护问题是其中一个重要的方面。随着大量个人健康数据的积累,如何确保数据的安全性,避免数据泄露和滥用,成为了亟待解决的问题。此外,人工智能技术虽然具有强大的诊断和分析能力,但其决策过程缺乏透明性,可能导致一些不可预测的错误。因此,在推进信息技术应用的同时,还需要加强技术监管,确保技术的健康发展。总的来说,信息技术在医疗领域的应用为提升医疗服务质量、改善患者体验提供了新的机遇。然而,如何平衡技术发展与伦理、隐私保护等方面的挑战,将是未来医疗行业持续发展的关键。随着技术的不断进步,医疗行业必将迎来更多的变革,而我们也将享受到更加智能、精准和便捷的医疗服务。", "voice": "zh-CN-XiaoxiaoNeural" } |
输出音频:
接口文件:
测试结果:

3. 后续测试问题
微软 Edge TTS API 是否有限制?
• 微软官方没有公开 Edge TTS API 的具体限制。
• 在 大批量请求时,是否会出现 403 Forbidden 或 Too Many Requests 错误(可能是速率限制)。
• 企业级大规模使用,建议联系微软购买 Azure Speech Service(Azure 语音服务),它是微软官方 TTS API,支持商业用途。
(二) Coqui TTS
1. 基本信息
开源地址:https://github.com/coqui-ai/TTS
开源协议:MPL-2.0 license
基于MPL-2.0的开源协议:
a)可以商用:MPL-2.0 允许自由使用、修改、分发和商业化,只要遵守协议要求。
b)MPL-2.0 仅要求对修改的 MPL 代码部分开源,但不要求整个项目开源。

2. 部署环境
硬件:Apple M4,系统: MacOS 15.3,python要求:python >=3.7 <3.11.0 (推荐 Ubuntu 18.10、19.10、20.10)
部署:Mac上建议创建虚拟环境
| #创建新环境 python3.10 -m venv ~/tts_env source ~/tts_env/bin/activate open ~/tts_env/ #重新安装所有依赖 pip install --upgrade pip pip install numpy==1.22.0 networkx==2.8.8 pip install torch==2.1.0 torchaudio==2.1.0 torchvision==0.16.0 pip install TTS==0.22.0 #测试 TTS tts --text "你好,欢迎使用 TTS!" --model_name "tts_models/zh-CN/baker/tacotron2-DDC-GST" --out_path output.wav |
现有模型,目前中文只有(tts_models/zh-CN/baker/tacotron2-DDC-GST)
| Name format: type/language/dataset/model 1: tts_models/multilingual/multi-dataset/xtts_v2 2: tts_models/multilingual/multi-dataset/xtts_v1.1 3: tts_models/multilingual/multi-dataset/your_tts 4: tts_models/multilingual/multi-dataset/bark 5: tts_models/bg/cv/vits 6: tts_models/cs/cv/vits 7: tts_models/da/cv/vits 8: tts_models/et/cv/vits 9: tts_models/ga/cv/vits 10: tts_models/en/ek1/tacotron2 11: tts_models/en/ljspeech/tacotron2-DDC [already downloaded] 12: tts_models/en/ljspeech/tacotron2-DDC_ph 13: tts_models/en/ljspeech/glow-tts 14: tts_models/en/ljspeech/speedy-speech 15: tts_models/en/ljspeech/tacotron2-DCA 16: tts_models/en/ljspeech/vits 17: tts_models/en/ljspeech/vits--neon 18: tts_models/en/ljspeech/fast_pitch 19: tts_models/en/ljspeech/overflow 20: tts_models/en/ljspeech/neural_hmm 21: tts_models/en/vctk/vits 22: tts_models/en/vctk/fast_pitch 23: tts_models/en/sam/tacotron-DDC 24: tts_models/en/blizzard2013/capacitron-t2-c50 25: tts_models/en/blizzard2013/capacitron-t2-c150_v2 26: tts_models/en/multi-dataset/tortoise-v2 27: tts_models/en/jenny/jenny 28: tts_models/es/mai/tacotron2-DDC 29: tts_models/es/css10/vits 30: tts_models/fr/mai/tacotron2-DDC 31: tts_models/fr/css10/vits 32: tts_models/uk/mai/glow-tts 33: tts_models/uk/mai/vits 34: tts_models/zh-CN/baker/tacotron2-DDC-GST [already downloaded] 35: tts_models/nl/mai/tacotron2-DDC 36: tts_models/nl/css10/vits 37: tts_models/de/thorsten/tacotron2-DCA 38: tts_models/de/thorsten/vits 39: tts_models/de/thorsten/tacotron2-DDC 40: tts_models/de/css10/vits-neon 41: tts_models/ja/kokoro/tacotron2-DDC 42: tts_models/tr/common-voice/glow-tts 43: tts_models/it/mai_female/glow-tts 44: tts_models/it/mai_female/vits 45: tts_models/it/mai_male/glow-tts 46: tts_models/it/mai_male/vits 47: tts_models/ewe/openbible/vits 48: tts_models/hau/openbible/vits 49: tts_models/lin/openbible/vits 50: tts_models/tw_akuapem/openbible/vits 51: tts_models/tw_asante/openbible/vits 52: tts_models/yor/openbible/vits 53: tts_models/hu/css10/vits 54: tts_models/el/cv/vits 55: tts_models/fi/css10/vits 56: tts_models/hr/cv/vits 57: tts_models/lt/cv/vits 58: tts_models/lv/cv/vits 59: tts_models/mt/cv/vits 60: tts_models/pl/mai_female/vits 61: tts_models/pt/cv/vits 62: tts_models/ro/cv/vits 63: tts_models/sk/cv/vits 64: tts_models/sl/cv/vits 65: tts_models/sv/cv/vits 66: tts_models/ca/custom/vits 67: tts_models/fa/custom/glow-tts 68: tts_models/bn/custom/vits-male 69: tts_models/bn/custom/vits-female 70: tts_models/be/common-voice/glow-tts Name format: type/language/dataset/model 1: vocoder_models/universal/libri-tts/wavegrad 2: vocoder_models/universal/libri-tts/fullband-melgan 3: vocoder_models/en/ek1/wavegrad 4: vocoder_models/en/ljspeech/multiband-melgan 5: vocoder_models/en/ljspeech/hifigan_v2 [already downloaded] 6: vocoder_models/en/ljspeech/univnet 7: vocoder_models/en/blizzard2013/hifigan_v2 8: vocoder_models/en/vctk/hifigan_v2 9: vocoder_models/en/sam/hifigan_v2 10: vocoder_models/nl/mai/parallel-wavegan 11: vocoder_models/de/thorsten/wavegrad 12: vocoder_models/de/thorsten/fullband-melgan 13: vocoder_models/de/thorsten/hifigan_v1 14: vocoder_models/ja/kokoro/hifigan_v1 15: vocoder_models/uk/mai/multiband-melgan 16: vocoder_models/tr/common-voice/hifigan 17: vocoder_models/be/common-voice/hifigan |
测试文本1:
| "在现代社会,信息技术的飞速发展为各行各业带来了深刻的变革。从人工智能到大数据,从云计算到物联网,这些技术不仅改变了我们的生产方式,也重新塑造了我们的生活方式。尤其是在医疗领域,信息技术的应用正在推动着医疗行业的创新与发展。首先,人工智能(AI)在医学诊断中的应用日益广泛。通过深度学习和机器学习算法,AI可以帮助医生分析医学影像、识别疾病症状、预测病情变化等。例如,在癌症早期筛查中,AI技术已经能够在成千上万的医学影像中准确识别出异常情况,甚至能够在早期阶段发现病灶,这大大提高了诊断的准确性和效率。除了影像诊断,AI还可以辅助医生进行个性化治疗方案的制定,根据患者的基因信息、生活习惯、病史等多维度数据,帮助制定更为精准的治疗方案。其次,大数据技术的应用也为医疗行业带来了巨大的价值。通过对海量健康数据的收集和分析,医疗服务提供者可以更好地了解患者的健康状况,预测潜在的疾病风险。例如,智能健康设备能够实时监测个人的心率、血糖、血压等健康指标,并通过大数据分析提供健康建议。这种数据驱动的方式使得医疗服务更加精准、个性化,并且能在疾病发生之前就进行干预,避免了许多不必要的健康问题。在医院管理方面,信息技术也发挥着重要作用。通过电子病历系统,医生和护士可以快速获取患者的历史病历、检查结果、用药记录等信息,减少了纸质病历带来的管理困扰,并且提升了患者就诊的效率。此外,医院的资源管理、排班系统、药品管理等也都得到了信息化的支持,优化了医院的运营流程,提升了患者的就医体验。然而,信息技术在医疗领域的广泛应用也面临着一些挑战。数据安全和隐私保护问题是其中一个重要的方面。随着大量个人健康数据的积累,如何确保数据的安全性,避免数据泄露和滥用,成为了亟待解决的问题。此外,人工智能技术虽然具有强大的诊断和分析能力,但其决策过程缺乏透明性,可能导致一些不可预测的错误。因此,在推进信息技术应用的同时,还需要加强技术监管,确保技术的健康发展。总的来说,信息技术在医疗领域的应用为提升医疗服务质量、改善患者体验提供了新的机遇。然而,如何平衡技术发展与伦理、隐私保护等方面的挑战,将是未来医疗行业持续发展的关键。随着技术的不断进步,医疗行业必将迎来更多的变革,而我们也将享受到更加智能、精准和便捷的医疗服务。" |
输出音频1:
测试文本2:
| tts --text "有呼啸声" --model_name "tts_models/zh-CN/baker/tacotron2-DDC-GST" --out_path output.wav |
输出音频2:
测试文本3:
| tts --text "有呼啸声!" --model_name "tts_models/zh-CN/baker/tacotron2-DDC-GST" --out_path output.wav |
输出文本3:
3. 测试总结
a)在目前的中文语音模型(tacotron2-DDC-GST)场景下,输出的音频声音有点飘。
b)在目前的中文语音模型下,无法兼容英文单词,在转音频时会被自动忽略(上面的“AI”)。
c)严格按照中文格式,如果是短语,没有结束标点符号,再结尾会有10秒左右的啸音。
(三) FastSpeech2
1. 基本信息
该开源项目TensorSpeech/FastSpeech2 仓库已经被移除
(四) 框架汇总分析
| ASR | 普通话识别 | 粤语识别 | 苏州方言识别 |
| FunAsr | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐ |
| TTS 引擎 | 语音质量 | 是否支持离线 | 语言支持 | 备注 |
| Edge-TTS | ⭐⭐⭐⭐⭐ | 在线 | 中、英、多语 | 依赖微软的Edge 语音 |
| Coqui TTS | ⭐⭐⭐⭐ | 完全离线 | 中、英 | 开源社区活跃,中文数据集限制明显 |
更多推荐



所有评论(0)