[PaddlePaddle飞桨] PaddleSpeech-自动语音识别-小模型部署
PaddleSpeech的GitHub项目地址
环境要求:
gcc >= 4.8.5
paddlepaddle <= 2.5.1
python >= 3.8
OS support: Linux(recommend), Windows, Mac OSX
pip下载指令:
python -m pip install paddlepaddle-gpu==2.5.1 -i https://pypi.tuna.tsinghua.edu.cn/simple pip install paddlespeech==1.4.1
小模型配置代码:
from paddlespeech.cli.asr.infer import ASRExecutorASR_MODELS = ['conformer_wenetspeech-zh-16k', 'conformer_online_wenetspeech-zh-16k','conformer_u2pp_online_wenetspeech-zh-16k','conformer_online_multicn-zh-16k', 'conformer_aishell-zh-16k', 'conformer_online_aishell-zh-16k','transformer_librispeech-en-16k', 'deepspeech2online_wenetspeech-zh-16k','deepspeech2offline_aishell-zh-16k','deepspeech2online_aishell-zh-16k', 'deepspeech2offline_librispeech-en-16k','conformer_talcs-codeswitch_zh_en-16k']
ASR_MODEL = 'conformer_wenetspeech'
ASR_EXECUTOR = ASRExecutor()
音频文件保存代码:
import io
import os
import uuid
import soundfile as sf
# 将音频数据转换并保存为16kHz采样率、16位量化深度、单声道的WAV文件
def save_audio_file(file_path, file_content):# 生成一个唯一的文件名unique_filename = str(uuid.uuid4()) + ".wav"# 确保目录存在if not os.path.exists(file_path):os.makedirs(file_path)try:# 将文件流转换为音频数据audio_data, sample_rate = sf.read(io.BytesIO(file_content.read()))# 构建完整的文件路径file_path_with_file_name = os.path.join(file_path, unique_filename)# # 重采样音频数据到16kHz,单声道,16位if sample_rate != 16000:from scipy.signal import resamplenum_samples = int(len(audio_data) * (16000 / sample_rate))audio_data = resample(audio_data, num_samples)sample_rate = 16000# 保存音频数据为16位,16kHz,单声道的WAV文件sf.write(file_path_with_file_name, audio_data, 16000, subtype='PCM_16')return file_path_with_file_name, sample_rateexcept Exception as e:print(f"Error saving file: {e}")return None
获取语音识别结果代码:
import os
# 获取指定文件的语音识别结果
def get_text_with_asr(file_path_with_file_name, sample_rate):if not os.path.exists(file_path_with_file_name):return Noneasr_result = ASR_EXECUTOR(audio_file=file_path_with_file_name,model=ASR_MODEL,# sample_rate=sample_rate,# lang='zh')return asr_result
音频转文字代码:
import os
# 音频转文字(上传音频文件)
def audio_to_text(file_content, file_name):file_path_without_file_name = '.' + STATIC_FILE_PATH + "/"if not os.path.exists(file_path_without_file_name):os.makedirs(file_path_without_file_name)file_path_with_file_name, sample_rate = save_audio_file(file_path_without_file_name, file_content)asr_result = get_text_with_asr(file_path_with_file_name, sample_rate)return asr_result
相关文章:
[PaddlePaddle飞桨] PaddleSpeech-自动语音识别-小模型部署
PaddleSpeech的GitHub项目地址 环境要求: gcc > 4.8.5 paddlepaddle < 2.5.1 python > 3.8 OS support: Linux(recommend), Windows, Mac OSXpip下载指令: python -m pip install paddlepaddle-gpu2.5.1 -i https://pypi.tuna.tsinghua.edu.c…...
redis查询慢,你们是如何排查优化的?(总结篇)
1,先进行基准测试,查看redis是否存在查询过慢情况,根据自己的情况而定 2、检查网络连接是否出现延迟,数据丢包问题(可能性小 3、开启慢查询日志,通过日志可以清楚知道哪些命令比较耗时,同时避…...
Docker 容器出现 IP 冲突
Docker 容器出现 IP 冲突的情况可能由以下几个原因导致: 静态 IP 分配:如果你在 docker-compose.yml 文件中为多个容器手动设置了相同的静态 IP 地址,那么这些容器在启动时就会出现 IP 冲突。确保每个容器分配的静态 IP 地址是唯一的。桥接网…...
paddlepaddle2.6,paddleorc2.8,cuda12,cudnn,nccl,python10环境
1.安装英伟达显卡驱动 首先需要到NAVIDIA官网去查自己的电脑是不是支持GPU运算。 网址是:CUDA GPUs | NVIDIA Developer。打开后的界面大致如下,只要里边有对应的型号就可以用GPU运算,并且每一款设备都列出来相关的计算能力(Compu…...
【D3.js in Action 3 精译】1.3 D3 视角下的数据可视化最佳实践(上)
当前内容所在位置 第一部分 D3.js 基础知识 第一章 D3.js 简介 1.1 何为 D3.js?1.2 D3 生态系统——入门须知 1.2.1 HTML 与 DOM1.2.2 SVG - 可缩放矢量图形1.2.3 Canvas 与 WebGL1.2.4 CSS1.2.5 JavaScript1.2.6 Node 与 JavaScript 框架1.2.7 Observable 记事本 1…...
如何在Linux上如何配置虚拟主机
在Linux上配置虚拟主机可以通过使用Apache HTTP服务器来实现。Apache是一个开源的跨平台的Web服务器软件,可以在多种操作系统上运行并支持虚拟主机的配置。 以下是在Linux上配置虚拟主机的步骤: 安装Apache HTTP服务器 在终端中运行以下命令来安装Apache…...
c语言alpha-beta剪枝六子棋
c语言Alpha-Beta剪枝算法六子棋[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2i5w8kc1-1720756528545)(https://i-blog.csdnimg.cn/direct/464b9db7d6384a63ab8c3213efff0e99.png)] 1.介绍 Alpha-Beta剪枝算法是一种用于优化博弈树搜索的算法&…...
基于PyTorch深度学习实践技术应用
近年来,Python语言由于其开源、简单等特点,受到了广大程序开发者的偏爱,丰富的函数库使得其在各行各业中得到了广泛的应用。伴随着新一轮人工智能(尤其是深度学习)的快速发展,许多深度学习框架应运而生&…...
数据湖仓一体(五)安装spark
上传安装包到/opt/software目录并解压 [bigdatanode106 software]$ tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /opt/services/ 重命名文件 [bigdatanode106 services]$ mv spark-3.3.1-bin-hadoop3 spark-3.3.1 配置环境变量 [bigdatanode106 ~]$ sudo vim /etc/profile…...
项目收获总结--本地缓存方案选型及使用缓存的坑
本地缓存方案选型及使用缓存的坑 一、摘要二、本地缓存三、本地缓存实现方案3.1 自己编程实现一个缓存3.2 基于 Guava Cache 实现本地缓存3.3 基于 Caffeine 实现本地缓存3.4 基于 Encache 实现本地缓存3.5 小结 四、使用缓存的坑4.1 缓存穿透4.2 缓存击穿4.3 缓存雪崩4.4 数据…...
java使用poi-tl模版引擎导出word之if判断条件的使用
文章目录 模版中if语句条件的使用1.数据为False或空集合2.非False或非空集合 模版中if语句条件的使用 如果区块对的值是 null 、false 或者空的集合,位于区块中的所有文档元素将不会显示,这就等同于if语句的条件为 false。语法示例:{{?stat…...
扩散的魔法:如何打造未来生物打印?
生物打印技术正在快速发展,它允许我们将生物材料、细胞和生长因子等生物活性成分精确地打印成具有特定形状和功能的结构。而扩散现象在生物打印中扮演着至关重要的角色,它影响着打印结构的特性、机械性能、生物功能和形态。为了更好地利用扩散现象&#…...
Bag of mice(概率dp)
https://www.luogu.com.cn/problem/CF148D 思路: 概率dp,设f[a][b]为白鼠为a个,黑鼠为b个时,赢的期望。 f[i][0]1; 1.当先手取到白鼠时 a/(ab); 2.当先手未取到白鼠,先手要向赢,后手也不能取到白鼠&am…...
Python的基础语法——持续更新版
1、type查看数据类型 # 直接输出结果 print(type("Hello")) # 先用变量存储 string_type type("Hello") print(string_type) 2、 类型转化 任何类型可以转化为字符串,但字符串不可以随意转化,要求字符串类内容都是数字 # 类型…...
百度智能云将大模型引入网络故障定位的智能运维实践
物理网络中,某个设备发生故障,可能会引起一系列指标异常的告警。如何在短时间内从这些告警信息中找到真正的故障原因,犹如大海捞针,对于运维团队是一件很有挑战的事情。 在长期的物理网络运维工作建设中,百度智能云通…...
晚上定时编译android系统
1、问题 可能偶然想晚上定时编译android系统 2、解决 at.sh #!/bin/sh# at -f at.sh now1min # at -lset -e set -xecho $SHELLecho at build begin /bin/date >> at_build.log/bin/bash -c source build/envsetup.sh >> at_build.log 2>&1; lunch xxx-us…...
轻薄鼠标的硬核选购攻略,很多人都在“高性价比”鼠标上栽跟头了
轻薄款设计的鼠标是目前鼠标市场的出货大头, 也是价格最卷的一类鼠标。 比游戏鼠标或许更卷一些。 这和当前的移动办公趋势关系很大。 这类鼠标主要跟笔记本和iPad搭配。 核心的使用场景是办公。 因此轻薄和静音是这类鼠标的核心卖点。 同时用户并不愿意付出太…...
Python制作签到系统
import datetime sign_in_records {} def sign_in(username): today datetime.date.today() if username not in sign_in_records: sign_in_records[username] [] sign_in_records[username].append(today) print(f"{username} 签到成功&#…...
面试题007-Java-Spring
面试题007-Java-Spring 目录 面试题007-Java-Spring题目自测题目答案1. 简单介绍一下Spring?2. Spring有哪些模块?3. 什么是Spring IoC ?4. 什么是依赖注入?有哪几种方式可以进行依赖注入?5. 什么是Spring AOP ?6. 什…...
后端之路——登录校验前言(Cookie\ Session\ JWT令牌)
前言:Servlet 【登录校验】这个功能技术的基础是【会话技术】,那么在讲【会话技术】的时候必然要谈到【Cookie】和【Session】这两个东西,那么在这之前必须要先讲一下一个很重要但是很多人都会忽略的一个知识点:【Servlet】 什么是…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
