paddlespeech on centos7

news2024/9/21 13:32:01

概述

paddlespeech是百度飞桨平台的开源工具包,主要用于语音和音频的分析处理,其中包含多个可选模型,提供语音识别、语音合成、说话人验证、关键词识别、音频分类和语音翻译等功能。

paddlespeech整体是比较简单易用的,但是安装部署依然有很多坑,本文为探坑而写。

环境

centos 7.9

gcc 版本 7.3.0 (GCC)

OpenSSL 1.1.1

Python 3.10.3

pip 23.2.1

numpy==1.23

paddlepaddle 2.4.2 2.5.1 为什么会有两个版本,后面会讲到。

paddlespeech 1.4.1

安装步骤

安装步骤如下。

gcc 7.3.0

openssl 1.1.1

python 3.10.3

paddlepaddle 2.5.1

paddlespeech 1.4.1

基础依赖库

首先升级centos7到最新版本,安装一些基础依赖库

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel wget

gcc

centos7环境,默认的gcc版本是4.8.5,而paddlepaddle要求libstdc++.so.6支持GLIBCXX_3.4.20版本,需要首先安装gcc的高版本。

gcc 7.3.0版本安装,网上文章很多,略过。

openssl

python3.10要求openssl版本1.1.1。

wget http://www.openssl.org/source/openssl-1.1.1.tar.gz

tar -zxvf openssl-1.1.1.tar.gz

cd openssl-1.1.1

./config --prefix=/usr/local/openssl shared zlib

make

make install

mv /usr/bin/openssl /usr/bin/openssl.bak

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1

ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

openssl version

python

python选择3.10版本。

wget https://www.python.org/ftp/python/3.10.3/Python-3.10.3.tgz

tar -zxvf Python-3.10.3.tgz

cd Python-3.10.3

./configure -C --with-openssl=/usr/local/openssl --with-openssl-rpath=auto --prefix=/usr/local/python3

make -j 8

make altinstall

ln -s /usr/local/python3/bin/python3.10 /usr/bin/python3

ln -s /usr/local/python3/bin/pip3.10 /usr/bin/pip3

python3 -V

Python 3.10.3

更换pip源

mkdir -p ~/.pip

touch ~/.pip/pip.conf

vi ~/.pip/pip.conf

[global]

index-url=https://mirrors.aliyun.com/pypi/simple/

[install]

trusted-host=mirrors.aliyun.com

ssl_verify: false

paddlepaddle

paddlepaddle需要2个版本,分别配合ASR和TTS使用。

pip3 install paddlepaddle==2.4.2  -i https://mirror.baidu.com/pypi/simple

pip3 install paddlepaddle==2.5.1  -i https://mirror.baidu.com/pypi/simple

paddlespeech

安装paddlespeech,语音相关的功能包括语音识别,语音合成,声音分类,声纹识别,标点恢复,语音翻译。

pip3 install pytest-runner  -i https://mirror.baidu.com/pypi/simple

pip3 install paddlespeech -i https://mirror.baidu.com/pypi/simple

Successfully installed Babel-2.12.1 Flask-2.3.3 Flask-Babel-3.1.0 Jinja2-3.1.2 MarkupSafe-2.1.3 ToJyutping-0.2.3 Werkzeug-2.3.7 aiohttp-3.8.5 aiosignal-1.3.1 annotated-types-0.5.0 async-timeout-4.0.3 attrs-23.1.0 audioread-2.1.9 bce-python-sdk-0.8.90 blinker-1.6.2 bottleneck-1.3.7 braceexpand-0.1.7 cffi-1.15.1 charset-normalizer-3.2.0 click-8.1.7 colorama-0.4.6 coloredlogs-15.0.1 colorlog-6.7.0 contourpy-1.1.0 cycler-0.11.0 cython-3.0.0 datasets-2.14.4 dill-0.3.4 distance-0.1.3 editdistance-0.6.2 einops-0.6.1 fastapi-0.101.1 filelock-3.12.2 flatbuffers-23.5.26 fonttools-4.42.1 frozenlist-1.4.0 fsspec-2023.6.0 ftfy-6.1.1 future-0.18.3 g2p-en-2.1.0 g2pM-0.1.2.5h5py-3.9.0 huggingface-hub-0.16.4 humanfriendly-10.0 hyperpyyaml-1.2.1 inflect-7.0.0 itsdangerous-2.1.2 jieba-0.42.1 joblib-1.3.2 jsonlines-3.1.0 kaldiio-2.18.0 kiwisolver-1.4.5 librosa-0.8.1 llvmlite-0.40.1 loguru-0.7.0 lxml-4.9.3 markdown-it-py-3.0.0 matplotlib-3.7.2 mdurl-0.1.1 mock-5.1.0 mpmath-1.3.0 multidict-6.0.4 multiprocess-0.70.12.2 nara-wpe-0.0.9 nltk-3.8.1 numba-0.57.1 numpy-1.24.4 onnx-1.14.0 onnxruntime-1.15.1 opencc-1.1.6 opencc-python-reimplemented-0.1.7 paddle2onnx-1.0.9 paddleaudio-1.1.0 paddlefsl-1.1.0 paddlenlp-2.6.0 paddleslim-2.4.1 paddlespeech-1.4.1 paddlespeech-feat-0.1.0 pandas-2.0.3 parameterized-0.9.0 pathos-0.2.8 pattern-singleton-1.2.0 platformdirs-3.10.0 pooch-1.7.0 portalocker-2.7.0 pox-0.3.3 ppdiffusers-0.16.3 ppft-1.7.6.7 praatio-5.1.1 prettytable-3.8.0 protobuf-3.20.2 psutil-5.9.5 pyarrow-13.0.0 pybind11-2.11.1 pycparser-2.21 pycryptodome-3.18.0 pydantic-2.3.0 pydantic-core-2.6.3 pygments-2.16.1 pygtrie-2.5.0 pyparsing-3.0.9 pypinyin-0.44.0 pypinyin-dict-0.6.0 pytz-2023.3 pyworld-0.3.4 pyzmq-25.1.1 rarfile-4.0 regex-2023.8.8 requests-2.31.0 resampy-0.4.2 rich-13.5.2 ruamel.yaml-0.17.28 ruamel.yaml.clib-0.2.7 sacrebleu-2.3.1 safetensors-0.3.3 scikit-learn-1.3.0 scipy-1.11.2 sentencepiece-0.1.99 seqeval-1.2.2 soundfile-0.12.1 starlette-0.27.0 swig-4.1.1 sympy-1.12 tabulate-0.9.0 textgrid-1.5 threadpoolctl-3.2.0 timer-0.2.2 tqdm-4.66.1 typeguard-2.13.3 typer-0.9.0 tzdata-2023.3 uvicorn-0.23.2 visualdl-2.5.3 wcwidth-0.2.6 webrtcvad-2.0.10 websockets-11.0.3 xxhash-3.3.0 yacs-0.1.8 yarl-1.9.2 zhon-2.0.2

numpy版本需要选择1.23,否则报错。

pip3 install numpy==1.23  -i https://mirror.baidu.com/pypi/simple

测试

ASR功能依赖 paddlepaddle==2.4.2

$ paddlespeech asr --lang zh --input zh.wav

/usr/local/python3/lib/python3.10/site-packages/librosa/core/constantq.py:1059: DeprecationWarning: np.complex is a deprecated alias for the builtin complex. To silence this warning, use complex by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.complex128 here.

Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations

dtype=np.complex,

/usr/local/python3/lib/python3.10/site-packages/paddle/fluid/dygraph/math_op_patch.py:275: UserWarning: The dtype of left and right variables are not the same, left dtype is paddle.int64, but right dtype is paddle.bool, the right dtype will convert to paddle.int64

warnings.warn(

我认为跑步最重要的就是给我带来了身体健康

TTS功能依赖 paddlepaddle==2.5.1

$ paddlespeech tts --input "苏大今天没有穿内裤,呵呵呵!" --output output3.wav

[nltk_data] Error loading averaged_perceptron_tagger: <urlopen error

[nltk_data]     [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify

[nltk_data]     failed: unable to get local issuer certificate

[nltk_data]     (_ssl.c:997)>

[nltk_data] Error loading cmudict: <urlopen error [SSL:

[nltk_data]     CERTIFICATE_VERIFY_FAILED] certificate verify failed:

[nltk_data]     unable to get local issuer certificate (_ssl.c:997)>

I0825 11:09:40.279230  2563 eager_method.cc:140] Warning:: 0D Tensor cannot be used as 'Tensor.numpy()[0]' . In order to avoid this problem, 0D Tensor will be changedto 1D numpy currently, but it's not correct and will be removed in release 2.6. For Tensor contain only one element, Please modify  'Tensor.numpy()[0]' to 'float(Tensor)' as soon as possible, otherwise 'Tensor.numpy()[0]' will raise error in release 2.6.

I0825 11:09:40.279644  2563 eager_method.cc:140] Warning:: 0D Tensor cannot be used as 'Tensor.numpy()[0]' . In order to avoid this problem, 0D Tensor will be changedto 1D numpy currently, but it's not correct and will be removed in release 2.6. For Tensor contain only one element, Please modify  'Tensor.numpy()[0]' to 'float(Tensor)' as soon as possible, otherwise 'Tensor.numpy()[0]' will raise error in release 2.6.

/usr/local/python3/lib/python3.10/site-packages/paddle/nn/layer/layers.py:1897: UserWarning: Skip loading for encoder.embed.1.alpha. encoder.embed.1.alpha receives a shape [1], but the expected shape is [].

warnings.warn(f"Skip loading for {key}. " + str(err))

/usr/local/python3/lib/python3.10/site-packages/paddle/nn/layer/layers.py:1897: UserWarning: Skip loading for decoder.embed.0.alpha. decoder.embed.0.alpha receives a shape [1], but the expected shape is [].

warnings.warn(f"Skip loading for {key}. " + str(err))

/home/adminx/test/output3.wav

cls功能依赖  paddlepaddle==2.4.2/2.5.1

$ paddlespeech cls --input zh.wav

100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 357907/357907 [00:32<00:00, 11173.08it/s]

Speech 0.9034528136253357

vector功能依赖 paddlepaddle==2.4.2/2.5.1

$ paddlespeech vector --task spk --input zh.wav

100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 259820/259820 [00:20<00:00, 12381.19it/s]

[ -0.19083646   9.474294   -14.12228     -2.0916362    0.04848658

4.92957      1.4780139    0.3733759   10.69586      3.2697136

-4.4820027   -0.6617906   -9.170393   -11.156884    -1.2358196

-3.3581464   -8.040278    -8.109016     5.271239     9.093345

4.080139     9.174555    -2.4747503    4.5701075   -6.1615624

-4.750184     2.4837155   15.827937     5.474065     3.2251058

0.10092238  11.682478    -0.47919133   3.572539     1.4974319

4.199508     9.543804    -6.7265534    7.489065    -4.7066617

0.9260804    2.6370869  -14.898721     3.6780186   -7.6924915

-1.9698792    9.436737    12.2048645    3.485145     2.6493874

-4.10985      8.051481     2.8838215   -6.756511    -1.7955961

5.8305116   -8.327385    -7.664741    12.04934     -6.977676

1.4514436    6.774237    -4.78431     10.4314       7.897736

-7.368048    -6.3448873  -11.598493    10.807491    -5.1794314

-2.6945627   10.874314    -7.6098304   11.810847     5.270554

5.2236743    2.3782775    3.3985224   -0.6136011   -6.0067887

-7.7289877    3.2568665    3.5521574    1.5729685   -8.427421

-5.4197965   -5.7204127    9.6017685   -7.11521    -10.819559

-2.041802    -8.249927    -2.3642402    5.248027     7.642632

3.8729753   -1.0397645   -2.15431     -2.7227147    5.8286257

-2.7757604    6.2585583   -0.24755064 -19.751856     3.3896728

-2.195075   -11.729757     5.008801    -3.3035963    3.6805942

0.22119749  -8.734743   -12.249261    -6.785996   -11.262364

3.8227513    4.4570937    0.43271756  -5.979373    -0.43533772

-12.417465    -7.380396     6.762073    -0.09675703   6.758829

0.47246385  -5.556693     1.654608    -5.651553     8.078561

3.1227856   17.694748    -0.91461915  -9.803121     2.3637018

-4.606942     0.2602589    5.6254964   -9.485892    -3.5908723

-6.751416     2.7892575    4.8451343   -8.851273     0.9642851

7.9920044   -0.09444531   1.8815458   -6.555375    -2.6035395

2.8816917   -5.3074865    8.416342     7.1294055   -2.4942544

9.977794    -3.4511476    7.2009816   -0.18145518  -0.28605637

10.311885    -6.427509    -4.791568    -0.1989103  -12.877758

-4.532637    -0.08484638 -10.895372     2.0810192   -5.8358116

14.491089    -2.793815    -2.0666945   -7.370983     8.564973

18.26662      6.8758926    9.029721   -11.058079     1.0859501

-4.4105487    2.5650666    0.92991847  10.917894    13.856809

2.334257     8.546575    11.740078    -5.884227     0.5982095

10.536286     2.504756  ]

text使用 paddlepaddle==2.5.1

$ paddlespeech text --task punc --input 今天的天气真不错啊你下午有空吗我想约你一起去吃饭

[nltk_data] Error loading averaged_perceptron_tagger: <urlopen error

[nltk_data]     [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify

[nltk_data]     failed: unable to get local issuer certificate

[nltk_data]     (_ssl.c:997)>

[nltk_data] Error loading cmudict: <urlopen error [SSL:

[nltk_data]     CERTIFICATE_VERIFY_FAILED] certificate verify failed:

[nltk_data]     unable to get local issuer certificate (_ssl.c:997)>

100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 427595/427595 [00:19<00:00, 21717.40it/s]

100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 89.5k/89.5k [00:00<00:00, 366kB/s]

今天的天气真不错啊!你下午有空吗?我想约你一起去吃饭。

st功能依赖全失败,未测试成功。

总结

paddlespeech提供了语音相关的基础能力,降低了音频模型的使用门槛。

在paddlespeech的基础上,完善的产品还需要很多的包装工作和业务开发。

空空如常

求真得真

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/988249.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开学季!ChatGPT遭多国高校“封杀”!

美国OpenAI公司研发的聊天机器人ChatGPT&#xff0c;在过去的几个月席卷全球。 OpenAI的创始人之一马斯克&#xff08;Elon Musk&#xff09;曾在社交媒体平台上称赞ChatGPT&#xff1a;“这是全新的世界。和家庭作业说再见吧&#xff01;”&#xff08;Its a new world. Good…

轮播图横向和纵向同时滚动

轮播图横向和纵向同时滚动: <view><swiper v-if"noticeList.length > 0" style"margin-left: 20rpx;position: fixed;margin-top: 10rpx;z-index: 9999;width: 710rpx;border-radius: 20rpx !important;overflow: hidden;transform: translateY(0)…

js-13-Js中的事件模型

事件模型分为&#xff1a;事件与事件流、原始事件模型、标准事件模型和IE事件模型 1、事件与事件流 js中的事件&#xff0c;可以理解为是在HTML中文档或者浏览器中发生的一种交互操作&#xff0c;使得网页具备互动性&#xff0c;常见的有加载事件、鼠标事件、自定义事件等。 由…

CocosCreator3.8研究笔记(十)CocosCreator 图像资源的理解

一、图像资源导入 Cocos Creator 可使用图像文件格式&#xff0c;支持 JPG、PNG、BMP、TGA、HDR、WEBBP、PSD、TIFF 等。 将图像资源直接拖拽到 资源管理器 即可将其导入 二、图像资源的类型 在 属性检查器 面板中便可根据需要设置图像资源的使用类型&#xff1a;raw 、 textu…

window和linux下载ffmpeg

window 进入官方 进入 download 页面并选择 window 版本 下载 zip 压缩包 解压压缩包 解压压缩包之后&#xff0c;在 bin 目录下有三个文件&#xff0c;我们要下载的 window 版 ffmpeg.exe 就在其中&#xff0c;后续你可以添加系统环境变量或者在每次执行 ffmpeg.exe 都带上路…

leetcode386. 字典序排数(java)

字典序排数 题目描述递归法迭代 题目描述 难度 - 中等 leetcode386. 字典序排数 给你一个整数 n &#xff0c;按字典序返回范围 [1, n] 内所有整数。 你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。 示例 1&#xff1a; 输入&#xff1a;n 13 输出&#xff1a…

学习Jetpack Compose的反思,总结及新的开始(无干货,纯叙事)

前言及个人简介 我是一名90后安卓开发者&#xff0c;我是从去年五月四日开始学习 Jetpack Compose的&#xff0c;出于对前沿安卓知识的渴望&#xff0c;我点开了Jetpack Compose官网的网页&#xff0c;开始了我的学习之旅&#xff0c;那时候国内的相关文档还没有现在多&#x…

小程序中使用分包

前言 小程序在未使用的分包的情况下仅支持大小为2M,如果图片等资源过多的情况下可以使用分包功能&#xff0c;使用分包的情况下单个分包大小不能超过2M,总大小不能超过20M&#xff0c;分包有两种情况&#xff1a;普通分包和独立分包&#xff0c;下面介绍的是普通分包。官方文档…

Linux常用命令——cp命令

在线Linux命令查询工具 cp 将源文件或目录复制到目标文件或目录中 补充说明 cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件&#xff0c;当一…

大佬带飞,代码分享不会用?玩转Git,跟上大佬节奏!

一、安装 Git 客户端 这里为大家提供了windows版的Git客户端以及安装图文详解文档。百度网盘&#xff1a; https://pan.baidu.com/s/1CDu0Ke199pt3Ysv-QtWObA 提取码&#xff1a;8888 如果过期了请留言联系我。 二、注册码云账号 打开码云网站&#xff1a;https://gitee.co…

分布式 - 服务器Nginx:基础系列之Nginx静态资源配置优化sendfile | tcp_nopush | tcp_nodelay

文章目录 1. sendfile 指令2. tcp_nopush 指令3. tcp_nodelay 指令 1. sendfile 指令 请求静态资源的过程&#xff1a;客户端通过网络接口向服务端发送请求&#xff0c;操作系统将这些客户端的请求传递给服务器端应用程序&#xff0c;服务器端应用程序会处理这些请求&#xff…

ARM+Codesys标准通用型控制器

整机工业级设计&#xff0c;通讯外设经过隔离保护 电源宽电压设计(9~36V DC ) 丰富的通讯接口&#xff0c;满足多种场合控制和通讯需求 四核工业级处理器&#xff0c;高性能&#xff0c;低功耗&#xff0c;高可靠性 机身无风扇设计&#xff0c;外壳小巧 搭载内核 100% 自主…

【面试高频题】二叉树“神级遍历“入门

题目描述 这是 LeetCode 上的 「99. 恢复二叉搜索树」 &#xff0c;难度为 「中等」。 Tag : 「二叉树」、「树的搜索」、「递归」、「迭代」、「中序遍历」、「Morris 遍历」 给你二叉搜索树的根节点 root&#xff0c;该树中的 恰好 两个节点的值被错误地交换。请在不改变其结…

HBuilderX安装+配置教程

HbuilderX是Hbuilder的升级版。它是是DCloud&#xff08;数字天堂&#xff09;推出为前端开发者服务的通用IDE&#xff0c;或者称为编辑器。 目录 一 下载 二 安装 三 创建桌面快捷方式 四 使用 1.【新建项目】&#xff1a; 2 运行 一 下载 官网&#xff1a;DCloud - …

JavaScript的面向对象

一、认识对象 1.概述 对象&#xff08;object&#xff09;是 JavaScript 语言的核心概念&#xff0c;也是最重要的数据类型。 什么是对象&#xff1f;简单说&#xff0c;对象就是一组“键值对”&#xff08;key-value&#xff09;的集合&#xff0c;是一种无序的复合数据集合…

vscode调试程序设置

主要设置和json内容如下&#xff1a; cpp_properties.json内容&#xff1a; {"configurations": [ //C intellisense插件需要这个文件&#xff0c;主要是用于函数变量等符号的只能解析{"name": "Win32","includePath": ["${work…

Discourse 如何访问运行数据库

在需要了解 Discourse 如何访问数据库之前我们需要了解的是 Discourse 的所有软件都使用的是 Docker 容器。 因此我们必须要进入到 Docker 容器后才能访问 Discourse 内部的东西。 进入 Discourse 容器 进入 Discourse 容器的命令是 cd /var/discourse/ ./launcher enter a…

Container容器

Container继承体系 Winow是可以独立存在的顶级窗口,默认使用BorderLayout管理其内部组件布局;Panel可以容纳其他组件&#xff0c;但不能独立存在&#xff0c;它必须内嵌其他容器中使用&#xff0c;默认使用FlowLayout管理其内部组件布局&#xff1b;ScrollPane 是 一个带滚动条…

WMS仓储管理系统如何加强印刷企业仓库管理

在当今的数字化时代&#xff0c;仓库管理系统的智能化和信息化已经成为企业运营效率的重要支柱。印刷企业WMS仓储管理系统&#xff0c;作为一种先进的管理工具&#xff0c;正在被越来越多的印刷企业所采用&#xff0c;以加强他们的仓库管理工作。 一、WMS仓储管理系统概述 WMS…

Always On 数据库无法自动同步的问题

问题&#xff1a; 在给客户的SQL Server 2019 配置好Always On 之后&#xff0c;不久就出现高可用组里的一个库无法正常同步。 第一次出现&#xff0c;以为是偶发性问题&#xff0c;直接右键点击恢复数据同步&#xff0c;没一会就同步好了&#xff1b;过了一个月问题又出现了…