[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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/44753.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/44753.shtml
英文地址,請注明出處:http://en.pswp.cn/web/44753.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

探索4D毫米波雷達和攝像頭在自動駕駛中的潛力

隨著自動駕駛技術的快速發展&#xff0c;關于各種傳感器的必要性&#xff0c;尤其是LiDAR&#xff08;激光雷達&#xff09;與毫米波雷達結合攝像頭的作用&#xff0c;激發了激烈的討論。在這篇博客中&#xff0c;我們將探討4D毫米波雷達和攝像頭的組合是否可能成為自動駕駛車輛…

將vue項目整合到springboot項目中并在阿里云上運行

第一步&#xff0c;使用springboot中的thymeleaf模板引擎 導入依賴 <!-- thymeleaf 模板 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency> 在r…

聊聊接入Arbitrum的正確姿勢

本文首發于公眾號&#xff1a;Keegan小鋼 前言 我們知道&#xff0c;目前最主流的 Ethereum Layer2 方案中&#xff0c;主要有 Optimistic Rollup 和 ZK Rollup 兩大類。而 Optimistic Rollup 的實現方案中&#xff0c;則是 Optimism 和 Arbitrum 最受關注。而我們最近接入了 …

Java套紅:指定位置合并文檔-NiceXWPFDocument

需求&#xff1a;做個公文系統&#xff0c;需要將正文文檔在某個節點點擊套紅按鈕&#xff0c;實現文檔套紅 試了很多方法&#xff0c;大多數網上能查到但是實際代碼不能找到關鍵方法&#xff0c;可能是跟包的版本有關系&#xff0c;下面記錄能用的這個。 一&#xff1a;添加依…

redis-cli 連接Redis

Redis-cli介紹 redis-cli 是原生 Redis 自帶的命令行工具&#xff0c;您可以在云主機或本地設備上通過 redis-cli 連接 Redis 數據庫&#xff0c;進行數據管理。 redis-cli 客戶端的使用方法&#xff0c;請參考官方文檔。 連接命令 redis-cli -h <redis_instance_address…

一個極簡的 Vue 示例

https://andi.cn/page/621516.html

【qt】客戶端連接到服務器

獲取到IP地址和端口號. 通過connectToHost() 來進行連接. 對于客戶端來講,只需要socket即可. 客戶端連接服務端只需要使用套接字(Socket)來進行通信。客戶端通過創建一個套接字來連接服務端&#xff0c;然后可以通過套接字發送和接收數據。套接字提供了一種簡單而靈活的方式來…

接口安全配置

問題點&#xff1a; 有員工在工位在某個接口下鏈接一個集線器&#xff0c;從而擴展上網接口&#xff0c;這種行為在某些公司是被禁止的&#xff0c;那么網絡管理員如何控制呢&#xff1f;可以配置接口安全來限制鏈接的數量&#xff0c;切被加入安全的mac地址不會老化&#xff…

JS實現:統計字符出現頻率/計算文字在文本中的出現次數

要實現這個功能&#xff0c;JavaScript 一個非常強大的方法&#xff0c;那就是reduce() reduce() 它用于將數組的所有元素減少到一個單一的值。這個值可以是任何類型&#xff0c;包括但不限于數字、字符串、對象或數組。 reduce() 方法接收一個回調函數作為參數&#xff0c;這個…

win10 docker-compose搭建ELK日志收集

elk的威名大家都知道&#xff0c;以前前司有專門的人維護&#xff0c;現在換了環境&#xff0c;實在不想上服務器看&#xff0c;所以就摸索下自己搭建&#xff0c;由于現場服務器是需要類似向日葵那樣連接&#xff0c;我還是把日志弄回來&#xff0c;自己本地filebeat上傳到es中…

ESP32和ESP8266的WIFI的136個問題與答案

ESP32和ESP8266的WIFI的136個問題與答案 ESP32和ESP8266 WIFI相關問題與答案&#xff0c;具有一定的參考價值。ESP32-S3模塊 1. ESP32 和 ESP8266 是否支持中文 SSID&#xff1f; ESP32 和 ESP8266 均支持中文 SSID&#xff0c;但需要使用相應的庫和設置。需要注意的是&#…

自定義函數---隨機數系列函數

大家有沒有發現平常在寫隨機數的時候&#xff0c;需要引入很多的頭文件&#xff0c;然后還需要用一些復雜的函數&#xff0c;大家可能不太習慣&#xff0c;于是我就制作了一個頭文件 // random_number.h #ifndef RANDOM_NUMBER_H // 預處理指令&#xff0c;防止頭文件被重復包含…

六款領先的電腦監控軟件系統(哪些電腦軟件可以監控電腦)

在當今信息時代&#xff0c;企業對數據安全和員工生產力的關注度越來越高。電腦監控軟件系統成為企業管理的重要工具&#xff0c;幫助企業確保信息安全、提高工作效率。本文將介紹幾款領先的電腦監控軟件系統&#xff0c;以便企業選擇最適合的解決方案。固信電腦監控軟件 可免費…

如何在SQLServer中更改端口

在SQL Server中更改端口通常涉及SQL Server配置管理器的使用&#xff0c;以下是一個詳細的步驟指南&#xff1a; 一、打開SQL Server配置管理器 通過開始菜單&#xff1a;點擊“開始”菜單&#xff0c;搜索“SQL Server配置管理器”并打開它。通過運行窗口&#xff1a;按Win …

log4j2的日志框架(詳細,springboot和異步日志的實現)

目錄 log4j2的介紹 Log4j2的性能 SpringBoot中的使用Log4j2 log4j2的進階--異步日志 AsyncAppender方式 AsyncLogger方式 log4j2的介紹 Apache Log4j 2是對Log4j的升級版&#xff0c;參考了logback的一些優秀的設計&#xff0c;并且修復了一些問題&#xff0c;因此帶 來…

Go-知識測試-測試參數

Go-知識測試-測試參數 1. -args2. -json3. -o4. -bench5. -benchtime6. -cpu7. -count8. -failfast9. -list10. -parallel11. -run12. -timeout13. -v14 -benchmem 1. -args 指示go test 把-args 后面的參數帶到測試中去。具體的測試函數會根據此參數來控制測試流程。 -args后…

主機安全-進程、命令攻擊與檢測

目錄 概述反彈shell原理nc/dev/xxx反彈shell下載不落地反彈Shell各種語言反彈shell linux提權sudosuid提權mysql提權 Dnslog參考 概述 本文更新通過在主機&#xff08;不含容器&#xff09;上直接執行命令或啟動進程來攻擊的場景。檢測方面以字節跳動的開源HIDS elkeid舉例。每…

磁感應強度檢測模塊使用教程

目錄 一、磁感應強度檢測模塊(AT 協議版本、Modbus 協議版本)1、參數2、報警引腳 二、AT版本1、接線說明2、AT 指令 三、Modbus 版本1、接線說明2、Modbus 指令格式3、Modbus 指令 一、磁感應強度檢測模塊(AT 協議版本、Modbus 協議版本) 圖1 正面 圖2 背面 AT 協議版本和 Modb…

Letter Exchange

這道題目看官方題解就好了&#xff0c;這個轉換圖論挺顯然的 證明一下為什么最后一定是 顯然練完貶值后圖只能長成這個樣子 在消掉長度為\(2\)的環后&#xff0c;如果說圖沒邊了&#xff0c; 那么顯然就不用交換了&#xff0c;否則的話我們任取一條邊 那么對于\(2\)號點來說&am…

韋東山嵌入式linux系列-驅動進化之路:總線設備驅動模型

1 驅動編寫的 3 種方法 以 LED 驅動為例 1.1 傳統寫法 使用哪個引腳&#xff0c;怎么操作引腳&#xff0c;都寫死在代碼中。 最簡單&#xff0c;不考慮擴展性&#xff0c;可以快速實現功能。 修改引腳時&#xff0c;需要重新編譯。 應用程序調用open等函數最簡單的方法是驅動…