AI实现语音文字处理,PaddleSpeech项目安装使用 | 机器学习

简介: AI实现语音文字处理,PaddleSpeech项目安装使用 | 机器学习

前言

这段时间一直在研究飞浆平台,最近试了试PaddleSpeech项目,试着对文本语音做处理。整体的效果个人觉着不算特别优越,只能作为简单的学习使用。

项目github地址:github仓库

环境安装

首先我们看一下项目结构以及安装文档。

image.png需要Python3.7以上、C++环境、requirements安装等等,下面按照我的顺序说一下。


1、conda安装Python3.9虚拟环境

使用conda安装python3.9环境,命令如下。


conda create -n py39 python=3.9


2、安装Visual Studio 2019

安装地址: Microsoft C++ 生成工具 - Visual Studio


注意安装的时候需要勾选C++桌面开发。


3、安装requirements.txt

使用命令安装requiremets.txt,命令如下:


pip install -r requirements.txt -i https://pypi.douban.com/simple


这里要注意一下,paddlespeech_ctcdecoders安装失败的话无所谓,可以略掉。


4、安装paddlepaddle和paddlespeech

命令如下:


pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

pip install paddlespeech -i https://pypi.tuna.tsinghua.edu.cn/simple

5、nltk_data下载

按照项目安装文档内的说明。


image.png


我的本地目录地址如下


image.png


项目验证

我下面分别验证一下tts、asr以及标点恢复功能。


tts语音合成

使用命令如下:


paddlespeech tts --input "南京现在很冷,下次再去夫子庙吧。" --output C:\Users\xxx\Desktop\115.wav


执行过程


(dh_partner) D:\spyder\PaddleSpeech>paddlespeech tts --input "南京现在很冷,下次再去夫子庙吧。" --output C:\Users\xxx\Desktop\115.wav

phones_dict: None

[2022-01-05 17:23:43,642] [    INFO] [log.py] [L57] - File C:\Users\huyi\.paddlespeech\models\fastspeech2_csmsc-zh\fastspeech2_nosil_baker_ckpt_0.4.zip md5 checking...

[2022-01-05 17:23:44,742] [    INFO] [log.py] [L57] - Use pretrained model stored in: C:\Users\huyi\.paddlespeech\models\fastspeech2_csmsc-zh\fastspeech2_nosil_baker_ckpt_0.4

self.phones_dict: C:\Users\huyi\.paddlespeech\models\fastspeech2_csmsc-zh\fastspeech2_nosil_baker_ckpt_0.4\phone_id_map.txt

[2022-01-05 17:23:44,743] [    INFO] [log.py] [L57] - C:\Users\huyi\.paddlespeech\models\fastspeech2_csmsc-zh\fastspeech2_nosil_baker_ckpt_0.4

[2022-01-05 17:23:44,744] [    INFO] [log.py] [L57] - C:\Users\huyi\.paddlespeech\models\fastspeech2_csmsc-zh\fastspeech2_nosil_baker_ckpt_0.4\default.yaml

[2022-01-05 17:23:44,744] [    INFO] [log.py] [L57] - C:\Users\huyi\.paddlespeech\models\fastspeech2_csmsc-zh\fastspeech2_nosil_baker_ckpt_0.4\snapshot_iter_76000.pdz

self.phones_dict: C:\Users\huyi\.paddlespeech\models\fastspeech2_csmsc-zh\fastspeech2_nosil_baker_ckpt_0.4\phone_id_map.txt

[2022-01-05 17:23:44,745] [    INFO] [log.py] [L57] - File C:\Users\huyi\.paddlespeech\models\pwgan_csmsc-zh\pwg_baker_ckpt_0.4.zip md5 checking...

[2022-01-05 17:23:44,782] [    INFO] [log.py] [L57] - Use pretrained model stored in: C:\Users\huyi\.paddlespeech\models\pwgan_csmsc-zh\pwg_baker_ckpt_0.4

[2022-01-05 17:23:44,783] [    INFO] [log.py] [L57] - C:\Users\huyi\.paddlespeech\models\pwgan_csmsc-zh\pwg_baker_ckpt_0.4

[2022-01-05 17:23:44,783] [    INFO] [log.py] [L57] - C:\Users\huyi\.paddlespeech\models\pwgan_csmsc-zh\pwg_baker_ckpt_0.4\pwg_default.yaml

[2022-01-05 17:23:44,785] [    INFO] [log.py] [L57] - C:\Users\huyi\.paddlespeech\models\pwgan_csmsc-zh\pwg_baker_ckpt_0.4\pwg_snapshot_iter_400000.pdz

vocab_size: 268

frontend done!

encoder_type is transformer

decoder_type is transformer

C:\Users\huyi\.conda\envs\dh_partner\lib\site-packages\paddle\framework\io.py:415: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' i

s deprecated since Python 3.3, and in 3.10 it will stop working

 if isinstance(obj, collections.Iterable) and not isinstance(obj, (

acoustic model done!

voc done!

Building prefix dict from the default dictionary ...

[2022-01-05 17:23:51] [DEBUG] [__init__.py:113] Building prefix dict from the default dictionary ...

Loading model from cache C:\Users\huyi\AppData\Local\Temp\jieba.cache

[2022-01-05 17:23:51] [DEBUG] [__init__.py:132] Loading model from cache C:\Users\huyi\AppData\Local\Temp\jieba.cache

Loading model cost 0.659 seconds.

[2022-01-05 17:23:52] [DEBUG] [__init__.py:164] Loading model cost 0.659 seconds.

Prefix dict has been built successfully.

[2022-01-05 17:23:52] [DEBUG] [__init__.py:166] Prefix dict has been built successfully.

C:\Users\huyi\.conda\envs\dh_partner\lib\site-packages\paddle\fluid\dygraph\math_op_patch.py:251: UserWarning: The dtype of left and right variables are not the same, left dtype is padd

le.int64, but right dtype is paddle.int32, the right dtype will convert to paddle.int64

 warnings.warn(

[2022-01-05 17:23:58,811] [    INFO] [log.py] [L57] - Wave file has been generated: C:\Users\xxx\Desktop\115.wav


生成的音频如下


image.png


asr语音识别

我就使用了tts生成的音频进行asr识别,看看效果,命令如下:


paddlespeech asr --lang zh --input C:\Users\xxx\Desktop\115.wav


执行结果如下


image.png


可以看到最后打印的内容是没有标点的文字输出,还是比较准的。


标点恢复

就用这句话试试标点恢复的情况,命令如下:


paddlespeech text --task punc --input 南京现在很冷下次再去夫子庙吧


执行结果


image.png


看起来语义上没什么问题。


总结

我在前言中说效果不是很好的主要原因是因为速率比较慢,相比于类似阿里云提供的tts、asr接口来说,效率比较低。也可能和需要校验模型是否存在这些无关紧要的功能有关。可以考虑研究代码,自己重新封装一些服务,效果应该好的多。


还有补充一下,最近博主在参加评选博客之星活动。如果你喜欢我的文章的话,不妨给我点个五星,投投票吧,谢谢大家的支持!!链接地址:https://bbs.csdn.net/topics/603956455


分享:


       世界不会在意你的自尊,人们看到的只是你的成就。在你没有成就以前,切勿过分强调自尊。——《了不起的盖茨比》


如果本文对你有用的话,点个赞吧,谢谢!!!


相关文章
|
15天前
|
人工智能 自然语言处理 API
Mathtutor on Groq:AI 数学辅导工具,实时计算并展示解题过程,支持通过语音提出数学问题
Mathtutor on Groq 是一款基于 Groq 架构的 AI 数学辅导工具,支持语音输入数学问题,实时计算并渲染解题过程,适用于代数、微积分等领域的学习和教学辅助。
60 5
Mathtutor on Groq:AI 数学辅导工具,实时计算并展示解题过程,支持通过语音提出数学问题
|
12天前
|
人工智能 移动开发 JavaScript
如何用uniapp打包桌面客户端exe包,vue或者uni项目如何打包桌面客户端之electron开发-优雅草央千澈以开源蜻蜓AI工具为例子演示完整教程-开源代码附上
如何用uniapp打包桌面客户端exe包,vue或者uni项目如何打包桌面客户端之electron开发-优雅草央千澈以开源蜻蜓AI工具为例子演示完整教程-开源代码附上
|
1月前
|
人工智能 API 语音技术
TEN Agent:开源的实时多模态 AI 代理框架,支持语音、文本和图像的实时通信交互
TEN Agent 是一个开源的实时多模态 AI 代理框架,集成了 OpenAI Realtime API 和 RTC 技术,支持语音、文本和图像的多模态交互,具备实时通信、模块化设计和多语言支持等功能,适用于智能客服、实时语音助手等多种场景。
155 15
TEN Agent:开源的实时多模态 AI 代理框架,支持语音、文本和图像的实时通信交互
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
MMAudio:开源 AI 音频合成项目,根据视频或文本生成同步的音频
MMAudio 是一个基于多模态联合训练的高质量 AI 音频合成项目,能够根据视频内容或文本描述生成同步的音频。该项目适用于影视制作、游戏开发、虚拟现实等多种场景,提升用户体验。
103 7
MMAudio:开源 AI 音频合成项目,根据视频或文本生成同步的音频
|
1月前
|
存储 人工智能 数据库
Codel:AI代理工具,支持在终端、浏览器、编辑器执行复杂任务和项目
Codel是一款全自主AI代理工具,支持在终端、浏览器和编辑器中执行复杂任务和项目。它运行在沙盒化的Docker环境中,具备自主操作能力,内置浏览器和文本编辑器,所有操作记录存储于PostgreSQL数据库。Codel能够自动完成复杂任务,如创建项目结构、进行网络搜索等,适用于自动化编程、研究与开发、教育与培训以及数据科学与分析等多个领域。
77 11
Codel:AI代理工具,支持在终端、浏览器、编辑器执行复杂任务和项目
|
21天前
|
人工智能 Serverless 视频直播
活动实践 | AI智能体实时语音互动
AI智能体实时语音互动方案提供端到端的实时音频交互,用户通过终端SDK与云端AI智能体进行音频通话。AI智能体接收音频输入,依据预定义工作流处理并生成响应,通过ARTC网络推送结果。该方案支持灵活编排AI组件如语音转文字、大语言模型等,确保高可用、低延迟的通信体验。用户可轻松创建和管理智能体及实时工作流,实现高效对话,并可通过示例网站体验功能。
|
2月前
|
人工智能 物联网 Shell
今日 AI 开源|共 12 项|开源的DIY健康追踪项目,基于低成本的智能戒指构建私人的健康监测应用
本文介绍了多个开源项目,涵盖了从量子计算错误纠正到视频生成和编辑的广泛应用领域。这些项目展示了AI技术在不同领域的创新和应用潜力。
210 10
今日 AI 开源|共 12 项|开源的DIY健康追踪项目,基于低成本的智能戒指构建私人的健康监测应用
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
46 6
|
2月前
|
存储 人工智能 缓存
官宣开源 阿里云与清华大学共建AI大模型推理项目Mooncake
近日,清华大学和研究组织9#AISoft,联合以阿里云为代表的多家企业和研究机构,正式开源大模型资源池化项目 Mooncake。
|
2月前
|
存储 人工智能 缓存
官宣开源|阿里云与清华大学共建AI大模型推理项目Mooncake
2024年6月,国内优质大模型应用月之暗面Kimi与清华大学MADSys实验室(Machine Learning, AI, Big Data Systems Lab)联合发布了以 KVCache 为中心的大模型推理架构 Mooncake。

热门文章

最新文章