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


分享:


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


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


相关文章
|
6月前
|
人工智能 自然语言处理 IDE
模型微调不再被代码难住!PAI和Qwen3-Coder加速AI开发新体验
通义千问 AI 编程大模型 Qwen3-Coder 正式开源,阿里云人工智能平台 PAI 支持云上一键部署 Qwen3-Coder 模型,并可在交互式建模环境中使用 Qwen3-Coder 模型。
1092 109
|
8月前
|
机器学习/深度学习 人工智能 监控
AI 基础知识从0.1到0.2——用“房价预测”入门机器学习全流程
本系列文章深入讲解了从Seq2Seq、RNN到Transformer,再到GPT模型的关键技术原理与实现细节,帮助读者全面掌握Transformer及其在NLP中的应用。同时,通过一个房价预测的完整案例,介绍了算法工程师如何利用数据训练模型并解决实际问题,涵盖需求分析、数据收集、模型训练与部署等全流程。文章适合初学者和开发者学习AI基础与实战技能。
986 25
AI 基础知识从0.1到0.2——用“房价预测”入门机器学习全流程
|
9月前
|
人工智能 监控 测试技术
云上AI推理平台全掌握 (1):PAI-EAS LLM服务一键压测
在AI技术飞速发展的今天,大语言模型(LLM)、多模态模型等前沿技术正深刻改变行业格局。推理服务是大模型从“实验室突破”走向“产业级应用”的必要环节,需直面高并发流量洪峰、低延时响应诉求、异构硬件优化适配、成本精准控制等复杂挑战。 阿里云人工智能平台 PAI 致力于为用户提供全栈式、高可用的推理服务能力。在本系列技术专题中,我们将围绕分布式推理架构、Serverless 弹性资源全球调度、压测调优和服务可观测等关键技术方向,展现 PAI 平台在推理服务侧的产品能力,助力企业和开发者在 AI 时代抢占先机,让我们一起探索云上 AI 推理的无限可能,释放大模型的真正价值!
|
9月前
|
机器学习/深度学习 PyTorch API
昇腾AI4S图机器学习:DGL消息传递接口的PyG替换
DGL (Deep Graph Learning) 和 PyG (Pytorch Geometric) 是两个主流的图神经网络库,它们在API设计和底层实现上有一定差异,在不同场景下,研究人员会使用不同的依赖库,昇腾NPU对PyG图机器学习库的支持亲和度更高,因此有些时候需要做DGL接口的PyG替换。
|
9月前
|
机器学习/深度学习 PyTorch API
昇腾AI4S图机器学习:DGL图构建接口的PyG替换
本文探讨了在图神经网络中将DGL接口替换为PyG实现的方法,重点以RFdiffusion蛋白质设计模型中的SE3Transformer为例。SE3Transformer通过SE(3)等变性提取三维几何特征,其图构建部分依赖DGL接口。文章详细介绍了两个关键函数的替换:`make_full_graph` 和 `make_topk_graph`。前者构建完全连接图,后者生成k近邻图。通过PyG的高效实现(如`knn_graph`),我们简化了图结构创建过程,并调整边特征处理逻辑以兼容不同框架,从而更好地支持昇腾NPU等硬件环境。此方法为跨库迁移提供了实用参考。
|
5月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
1460 6
|
10月前
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
661 8
|
11月前
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。