OWSM v4 語音識別學習筆記

目錄

OWSM v4 簡介 卡內基梅隆大學

這個代碼不知道干嘛的

tokenizer

CTC分割算法

yodas2數據集

依賴性安裝:

數據集下載地址;

模型下載地址:

docker安裝(適用于多數 Linux 系統)測試ok

推理demo


OWSM v4 簡介 卡內基梅隆大學

OWSM v4: 通過數據擴充和清洗改進開放Whisper風格語音模型"為我們帶來了一個好消息:學術團隊也能打造媲美商業巨頭的開源語音模型!

https://github.com/espnet/espnet

https://github.com/espnet/espnet_model_zoo

這個代碼不知道干嘛的

https://huggingface.co/datasets/JinchuanTian/owsm_v4

tokenizer

s2t.tokenizer.text2tokens("<na>")

CTC分割算法

?CTC 模型:使用純文本標簽 + 時間對齊算法

YODAS數據集

YODAS數據集是一個大規模的多語言語音數據集,涵蓋了100多種語言

yodas2數據集

https://huggingface.co/datasets/espnet/yodas2

原始的YODAS數據集尚未經過嚴格的清洗過程,可能包含各種注釋錯誤。常見問題包括語言標簽錯誤和音頻與文本的不匹配。因此,數據清洗對于確保準確性和可靠性至關重要。研究團隊設計的數據清洗流程包括三個步驟:重新分割、基于語言識別的過濾和基于CTC得分的過濾。

首先,在重新分割階段,研究人員面對的是YODAS提供的未分割的長格式錄音,每條錄音都附有帶有開始和結束時間戳的文本轉錄列表。但這些時間戳往往不準確。因此,第一步是使用CTC分割算法重新對齊音頻和文本。

依賴性安裝:

pip install -U espnet_model_zoo

數據集下載地址;

espnet/yodas2

數據列表

from datasets import get_dataset_config_namesconfigs = get_dataset_config_names("espnet/yodas2",trust_remote_code=True)
print(configs)

['aa000', 'ab000', 'af000', 'ak000', 'am000', 'ar000', 'as000', 'ay000', 'az000', 'ba000', 'be000', 'bg000', 'bh000', 'bi000', 'bm000', 'bn000', 'bo000', 'br000', 'bs000', 'ca000', 'co000', 'cr000', 'cs000', 'cy000', 'da000', 'de000', 'de100', 'de101', 'de102', 'dz000', 'ee000', 'el000', 'en000', 'en001', 'en002', 'en003', 'en004', 'en005', 'en006', 'en007', 'en100', 'en101', 'en102', 'en103', 'en104', 'en105', 'en106', 'en107', 'en108', 'en109', 'en110', 'en111', 'en112', 'en113', 'en114', 'en115', 'en116', 'en117', 'en118', 'en119', 'en120', 'en121', 'en122', 'en123', 'en124', 'en125', 'en126', 'en127', 'en128', 'en129', 'eo000', 'es000', 'es100', 'es101', 'es102', 'es103', 'es104', 'es105', 'es106', 'es107', 'es108', 'et000', 'eu000', 'fa000', 'ff000', 'fi000', 'fj000', 'fo000', 'fr000', 'fr100', 'fr101', 'fr102', 'fr103', 'fy000', 'ga000', 'gd000', 'gl000', 'gn000', 'gu000', 'ha000', 'hi000', 'hi100', 'ho000', 'hr000', 'ht000', 'hu000', 'hy000', 'ia000', 'id000', 'id100', 'id101', 'ie000', 'ig000', 'ik000', 'is000', 'it000', 'it100', 'it101', 'iu000', 'iw000', 'ja000', 'ja100', 'jv000', 'ka000', 'ki000', 'kk000', 'kl000', 'km000', 'kn000', 'ko000', 'ko100', 'ko101', 'ko102', 'ko103', 'ks000', 'ku000', 'ky000', 'la000', 'lb000', 'lg000', 'ln000', 'lo000', 'lt000', 'lv000', 'mg000', 'mi000', 'mk000', 'ml000', 'mn000', 'mr000', 'ms000', 'mt000', 'my000', 'na000', 'nd000', 'ne000', 'nl000', 'nl100', 'no000', 'nv000', 'oc000', 'om000', 'or000', 'pa000', 'pl000', 'ps000', 'pt000', 'pt100', 'pt101', 'pt102', 'pt103', 'qu000', 'rm000', 'rn000', 'ro000', 'ru000', 'ru001', 'ru100', 'ru101', 'ru102', 'ru103', 'ru104', 'ru105', 'ru106', 'rw000', 'sa000', 'sc000', 'sd000', 'sg000', 'sh000', 'si000', 'sk000', 'sl000', 'sm000', 'sn000', 'so000', 'sq000', 'sr000', 'st000', 'su000', 'sv000', 'sw000', 'ta000', 'te000', 'tg000', 'th000', 'th100', 'ti000', 'tk000', 'tn000', 'to000', 'tr000', 'tr100', 'ts000', 'tt000', 'ug000', 'uk000', 'uk100', 'ur000', 'uz000', 've000', 'vi000', 'vi100', 'vi101', 'vo000', 'wo000', 'xh000', 'yi000', 'yo000', 'zh000', 'zu000']

| 配置名 | 語言代碼 | 語言名稱(中文) | 語言名稱(英文) |

|:---------|:-----------|:---------------------|:-------------------|

| bh000 | bh | Bihari languages | Bihari languages |

| eo000 | eo | 世界語 | Esperanto |

| zh000 | zh | 中文 | Chinese |

| da000 | da | 丹麥語 | Danish |

| uk100 | uk | 烏克蘭語 | Ukrainian |

| uz000 | uz | 烏茲別克語 | Uzbek |

| ur000 | ur | 烏爾都語 | Urdu |

| hy000 | hy | 亞美尼亞語 | Armenian |

| ik000 | ik | 伊努皮克語 | Inupiaq |

| ig000 | ig | 伊博語 | Igbo |

| ru106 | ru | 俄語 | Russian |

| bg000 | bg | 保加利亞語 | Bulgarian |

| sd000 | sd | 信德語 | Sindhi |

| si000 | si | 僧伽羅語 | Sinhala |

| qu000 | qu | 克丘亞語 | Quechua |

| ks000 | ks | 克什米爾語 | Kashmiri |

| hr000 | hr | 克羅地亞語 | Croatian |

| cr000 | cr | 克里語 | Cree |

| is000 | is | 冰島語 | Icelandic |

| gl000 | gl | 加利西亞語 | Galician |

| ca000 | ca | 加泰羅尼亞語 | Catalan |

| hu000 | hu | 匈牙利語 | Hungarian |

| nd000 | nd | 北恩德貝勒語 | North Ndebele |

| st000 | st | 南索托語 | Southern Sotho |

| af000 | af | 南非荷蘭語 | Afrikaans |

| kn000 | kn | 卡納達語 | Kannada |

| lg000 | lg | 盧干達語 | Ganda |

| rw000 | rw | 盧旺達語 | Kinyarwanda |

| lb000 | lb | 盧森堡語 | Luxembourgish |

| hi000 | hi | 印地語 | Hindi |

| id101 | id | 印度尼西亞語 | Indonesian |

| gu000 | gu | 古吉拉特語 | Gujarati |

| ki000 | ki | 吉庫尤語 | Kikuyu |

| kk000 | kk | 哈薩克語 | Kazakh |

| iu000 | iu | 因紐特語 | Inuktitut |

| ie000 | ie | 國際文字(E) | Interlingue |

| ia000 | ia | 國際語 | Interlingua |

| tk000 | tk | 土庫曼語 | Turkmen |

| tr000 | tr | 土耳其語 | Turkish |

| ee000 | ee | 埃維語 | Ewe |

| tg000 | tg | 塔吉克語 | Tajik |

| sr000 | sr | 塞爾維亞語 | Serbian |

| sh000 | sh | 塞爾維亞語(拉丁文) | Serbian (Latin) |

| oc000 | oc | 奧克語 | Occitan |

| om000 | om | 奧羅莫語 | Oromo |

| or000 | or | 奧里亞語 | Odia |

| cy000 | cy | 威爾士語 | Welsh |

| bn000 | bn | 孟加拉語 | Bangla |

| dz000 | dz | 宗卡語 | Dzongkha |

| ff000 | ff | 富拉語 | Fula |

| ne000 | ne | 尼泊爾語 | Nepali |

| ba000 | ba | 巴什基爾語 | Bashkir |

| eu000 | eu | 巴斯克語 | Basque |

| su000 | su | 巽他語 | Sundanese |

| br000 | br | 布列塔尼語 | Breton |

| iw000 | iw | 希伯來語 | Hebrew |

| el000 | el | 希臘語 | Greek |

| ho000 | ho | 希里莫圖語 | Hiri Motu |

| ku000 | ku | 庫爾德語 | Kurdish |

| de101 | de | 德語 | German |

| it100 | it | 意大利語 | Italian |

| yi000 | yi | 意第緒語 | Yiddish |

| la000 | la | 拉丁語 | Latin |

| lv000 | lv | 拉脫維亞語 | Latvian |

| no000 | no | 挪威語 | Norwegian |

| cs000 | cs | 捷克語 | Czech |

| ti000 | ti | 提格利尼亞語 | Tigrinya |

| ve000 | ve | 文達語 | Venda |

| fj000 | fj | 斐濟語 | Fijian |

| sk000 | sk | 斯洛伐克語 | Slovak |

| sl000 | sl | 斯洛文尼亞語 | Slovenian |

| sw000 | sw | 斯瓦希里語 | Swahili |

| pa000 | pa | 旁遮普語 | Punjabi |

| ja100 | ja | 日語 | Japanese |

| ps000 | ps | 普什圖語 | Pashto |

| ln000 | ln | 林加拉語 | Lingala |

| ky000 | ky | 柯爾克孜語 | Kyrgyz |

| kl000 | kl | 格陵蘭語 | Kalaallisut |

| ka000 | ka | 格魯吉亞語 | Georgian |

| sg000 | sg | 桑戈語 | Sango |

| sa000 | sa | 梵語 | Sanskrit |

| bi000 | bi | 比斯拉馬語 | Bislama |

| mi000 | mi | 毛利語 | Māori |

| to000 | to | 湯加語 | Tongan |

| vo000 | vo | 沃拉普克語 | Volapük |

| wo000 | wo | 沃洛夫語 | Wolof |

| fo000 | fo | 法羅語 | Faroese |

| fr000 | fr | 法語 | French |

| pl000 | pl | 波蘭語 | Polish |

| bs000 | bs | 波斯尼亞語 | Bosnian |

| fa000 | fa | 波斯語 | Persian |

| te000 | te | 泰盧固語 | Telugu |

| ta000 | ta | 泰米爾語 | Tamil |

| th000 | th | 泰語 | Thai |

| ht000 | ht | 海地克里奧爾語 | Haitian Creole |

| jv000 | jv | 爪哇語 | Javanese |

| ga000 | ga | 愛爾蘭語 | Irish |

| et000 | et | 愛沙尼亞語 | Estonian |

| bm000 | bm | 班巴拉語 | Bambara |

| na000 | na | 瑙魯語 | Nauru |

| sv000 | sv | 瑞典語 | Swedish |

| gn000 | gn | 瓜拉尼語 | Guarani |

| be000 | be | 白俄羅斯語 | Belarusian |

| zu000 | zu | 祖魯語 | Zulu |

| xh000 | xh | 科薩語 | Xhosa |

| co000 | co | 科西嘉語 | Corsican |

| lt000 | lt | 立陶宛語 | Lithuanian |

| so000 | so | 索馬里語 | Somali |

| yo000 | yo | 約魯巴語 | Yoruba |

| nv000 | nv | 納瓦霍語 | Navajo |

| sn000 | sn | 紹納語 | Shona |

| ug000 | ug | 維吾爾語 | Uyghur |

| my000 | my | 緬甸語 | Burmese |

| rm000 | rm | 羅曼什語 | Romansh |

| ro000 | ro | 羅馬尼亞語 | Romanian |

| lo000 | lo | 老撾語 | Lao |

| ts000 | ts | 聰加語 | Tsonga |

| ay000 | ay | 艾馬拉語 | Aymara |

| fi000 | fi | 芬蘭語 | Finnish |

| gd000 | gd | 蘇格蘭蓋爾語 | Scottish Gaelic |

| en116 | en | 英語 | English |

| tn000 | tn | 茨瓦納語 | Tswana |

| nl100 | nl | 荷蘭語 | Dutch |

| sc000 | sc | 薩丁語 | Sardinian |

| sm000 | sm | 薩摩亞語 | Samoan |

| pt102 | pt | 葡萄牙語 | Portuguese |

| mn000 | mn | 蒙古語 | Mongolian |

| bo000 | bo | 藏語 | Tibetan |

| fy000 | fy | 西弗里西亞語 | Western Frisian |

| es101 | es | 西班牙語 | Spanish |

| ha000 | ha | 豪薩語 | Hausa |

| vi101 | vi | 越南語 | Vietnamese |

| az000 | az | 阿塞拜疆語 | Azerbaijani |

| am000 | am | 阿姆哈拉語 | Amharic |

| sq000 | sq | 阿爾巴尼亞語 | Albanian |

| ab000 | ab | 阿布哈西亞語 | Abkhazian |

| ar000 | ar | 阿拉伯語 | Arabic |

| aa000 | aa | 阿法爾語 | Afar |

| ak000 | ak | 阿肯語 | Akan |

| as000 | as | 阿薩姆語 | Assamese |

| rn000 | rn | 隆迪語 | Rundi |

| tt000 | tt | 韃靼語 | Tatar |

| ko000 | ko | 韓語 | Korean |

| mk000 | mk | 馬其頓語 | Macedonian |

| mg000 | mg | 馬拉加斯語 | Malagasy |

| mr000 | mr | 馬拉地語 | Marathi |

| ml000 | ml | 馬拉雅拉姆語 | Malayalam |

| ms000 | ms | 馬來語 | Malay |

| mt000 | mt | 馬耳他語 | Maltese |

| km000 | km | 高棉語 | Khmer |

模型下載地址:

https://huggingface.co/papers/2506.00338

下載模型:

huggingface-cli download --resume-download espnet/owsm_ctc_v4_1B --local-dir /nas/lbg/models/espnet_owsm_ctc_v4_1B

模型目錄結構:

data ?exp ?meta.yaml ?README.md

docker安裝(適用于多數 Linux 系統)測試ok

curl -fsSL https://get.docker.com | sh

或者使用 wget:

wget -qO- https://get.docker.com | sh

推理demo

from espnet2.bin.s2t_inference_ctc import Speech2TextGreedySearch# "/nas/lbg/models/espnet_owsm_ctc_v4_1B",
s2t = Speech2TextGreedySearch.from_pretrained("espnet/owsm_ctc_v4_1B",device="cuda",use_flash_attn=False,   # set to True for better efficiency if flash attn is installed and dtype is float16 or bfloat16lang_sym='<eng>',task_sym='<asr>',
)res = s2t.batch_decode("audio.wav",    # a single audio (path or 1-D array/tensor) as inputbatch_size=16,context_len_in_secs=4,
)   # res is a single str, i.e., the predicted text without special tokensres = s2t.batch_decode(["/nas/ASR_DATA/cv-corpus-21.0-2025-03-14/ar/clips/common_voice_ar_24146339.mp3", "/nas/lbg/project/Whisper-Finetune/dataset/test.wav"], # a list of audios as inputbatch_size=16,context_len_in_secs=4,
)   # res is a list of str

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

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

相關文章

機器學習線性回歸:從基礎到實踐的入門指南

目錄 一、線性回歸的基本概念 二、線性回歸的核心原理 三、線性回歸的實現步驟 1.數據準備與預處理 2.模型訓練 3.模型評估 &#xff08;四&#xff09;模型優化與應用 四、線性回歸的應用場景 五、線性回歸的進階方向 在機器學習的廣闊領域中&#xff0c;線性回歸是入…

6.Linux 系統啟動過程,破解root密碼與故障修復

Linux :系統啟動過程&#xff0c;破解root密碼與故障修復 一、標準啟動流程 開機自檢 (BIOS/UEFI POST) 硬件初始化與檢測 MBR引導 讀取硬盤主引導記錄&#xff08;512字節&#xff09; GRUB2菜單 加載 /boot/grub2/grub.cfg 顯示啟動菜單 加載Linux內核 載入Linux 內核文件 內…

特產|基于SSM+vue的南陽特產銷售平臺(源碼+數據庫+文檔)

南陽特產銷售平臺 基于SSMvue的南陽特產銷售平臺 一、前言 二、系統設計 三、系統功能設計 平臺功能模塊 管理員功能模塊 商家功能模塊 四、數據庫設計 五、核心代碼 六、論文參考 七、最新計算機畢設選題推薦 八、源碼獲取&#xff1a; 博主介紹&#xff1a;??大…

線性代數常見的解題方法

一.行列式 1.利用行列式的性質進行簡化 (1)重要行列式 主對角線,副對角線(不要忘了-1的次數),拉普拉斯展開(副對角線是m*n),范德蒙 (2)行列式展開定理 每一行/列的元素乘以它對應的代數余子式 擴展:拉普拉斯展開定理,可以按照任意行和列數進行展開,行列式的值=|A|*…

Websocket實時行情接口 (2025最新使用教程)

本教程將指導您如何使用Java Websocket客戶端連接實時行情接口&#xff0c;并訂閱相關數據。 步驟1&#xff1a;配置您的項目 確保您的項目已引入以下依賴&#xff1a; jakarta.websocket-apijakarta.websocket-client-apifastjson2lombokspring-context (如果使用Spring框架) …

【JEECG】JVxeTable表格拖拽排序功能

功能說明&#xff1a; 實現JVxeTable表格拖拽排序功能 解決子表拖拽排序后&#xff0c;點擊保存數據&#xff0c;未實現拖拽排序后效果 參數配置&#xff1a; 提示&#xff1a; 1.開啟 dragSort 屬性之后即可實現上下拖拽排序。 2.使用 sortKey 屬性可以自定義排序保存的 key&…

【騰訊云】EdgeOne網站安全防護的配置方法 防范盜刷流量 附惡意IP和UA黑名單

經過上個月的前車之鑒&#xff0c;我摸索出一套針對騰訊云EdgeOne《付費版》的安全配置模板&#xff0c;僅供各位站長參考 配置方法 一、在EdgeOne控制面板頁面&#xff0c;點擊要配置的域名。 二、進入后&#xff0c;點擊安全防護-WEB防護-自定義規則&#xff0c;按圖所示添加…

白玩 一 記錄retrofit+okhttp+flow 及 kts的全局配置

先回憶下flow吧&#xff01; flow是啥 Flow 是 Kotlin 協程框架中的一個異步數據流處理組件&#xff0c;專為響應式編程設計&#xff0c;適用于需要連續或異步返回多個值的場景&#xff0c;如網絡請求、數據庫查詢、傳感器數據等 1 ?異步流&#xff08;Asynchronous Stream…

犯罪現場三維還原:科技助力刑偵變革

在刑偵領域&#xff0c;犯罪現場的準確還原對于案件偵破起著至關重要的作用。傳統的現場記錄方式&#xff0c;如拍照、繪圖等&#xff0c;雖然能獲取一定信息&#xff0c;但難以全面、直觀地呈現現場全貌&#xff0c;容易遺漏關鍵細節&#xff0c;且在后期分析和信息傳達上存在…

go-admin 構建arm鏡像

目錄 1、 go-admin Dockerfile 2、docker build go-admin 3、settings.yml 4、go-admin-ui Dockerfile 5、docker build go-admin-ui 6、go-admin.yaml 7、go-admin-ui.yaml 1、 go-admin Dockerfile # 構建階段:使用 Go 1.24 版本(支持遠程調試) FROM golang:1.24-…

深入淺出:C++ STL簡介與學習指南

目錄 前言 STL的版本演變 STL六大組件 STL的重要性 如何學習STL STL的缺陷 總結 前言 什么是STL&#xff1f; STL&#xff08;Standard Template Library&#xff0c;標準模板庫&#xff09;是C標準庫的核心組成部分&#xff0c;它不僅是一個可復用的組件庫&#xff0c;更是一…

Mysql事務原理

臟讀(Dirty Read) 某個事務已更新一份數據&#xff0c;另一個事務在此時讀取了同一份數據&#xff0c;由于某些原因&#xff0c;前一個進行了RollBack&#xff0c;則后一個事務所讀取的數據就會是不正確的。 不可重復讀(Non-repeatable read) 在一個事務的兩次查詢之中數據不一…

小紅書筆記詳情API指南

一、引言小紅書作為中國領先的社交電商平臺&#xff0c;擁有超過4.8億用戶(2025年Q2數據)&#xff0c;其開放平臺已成為品牌營銷與數據挖掘的重要渠道?1。通過筆記詳情API獲取數據&#xff0c;可以幫助商家、品牌方和數據分析人員了解用戶反饋、市場趨勢和消費需求?。這些數據…

VS+Qt中使用QCustomPlot繪制曲線標簽(附源碼)

在qt中我們常常會使用數據來繪制曲線&#xff0c;常用的的繪制方法用QCutomPlot、QChart和QPrinter。有時我們會根據需要在曲線進行二次繪制&#xff0c;包括對曲線打標簽&#xff0c;顯示某個點的值等功能。本文主要為大家介紹在QCustomPlot中使用QCPItemTracer和QCPItemText繪…

Spring Boot項目生產環境部署完整指南

在Spring Boot應用開發完成后&#xff0c;如何將其穩定、高效地部署到生產環境是每個開發者都需要掌握的關鍵技能。本文將詳細介紹Spring Boot項目的多種部署方案&#xff0c;從傳統部署到現代化容器部署&#xff0c;選擇最適合的部署策略。 1. 部署前的準備工作 1.1 項目打包優…

微信小程序中實現頁面跳轉的方法

微信小程序中頁面跳轉主要有兩種方式&#xff1a;聲明式導航&#xff08;通過組件實現&#xff09;和編程式導航&#xff08;通過API實現&#xff09;。兩種方式適用于不同場景&#xff0c;以下詳細說明。一、聲明式導航&#xff08;navigator組件&#xff09;通過小程序內置的…

從0開始學linux韋東山教程Linux驅動入門實驗班(7)

本人從0開始學習linux&#xff0c;使用的是韋東山的教程&#xff0c;在跟著課程學習的情況下的所遇到的問題的總結,理論雖枯燥但是是基礎。本人將前幾章的內容大致學完之后&#xff0c;考慮到后續驅動方面得更多的開始實操&#xff0c;后續的內容將以韋東山教程Linux驅動入門實…

國內AI IDE競逐:騰訊CodeBuddy、阿里通義靈碼、字節跳動TRAE、百度文心快碼

國內AI IDE競逐&#xff1a;騰訊CodeBuddy、阿里通義靈碼、字節跳動TRAE、百度文心快碼 隨著人工智能技術的不斷發展&#xff0c;各大科技公司紛紛推出自家的AI IDE&#xff0c;推動軟件開發進入全新的智能化時代。騰訊的 CodeBuddy IDE、阿里云的 通義靈碼 AI IDE、字節跳動的…

git rebase使用教程 以及和merge的區別

Merge和Rebase概念概述 rebase 和 merge 相似&#xff0c;但又不完全相同&#xff0c;本質上都是用來合并分支的命令&#xff0c;區別如下 merge合并分支會多出一條merge commit記錄&#xff0c;而rebase不會merge的提交樹是非線性的&#xff0c;會有分叉&#xff0c;而rebase的…

React中的合成事件解釋和理解

什么是合成事件&#xff08;Synthetic event&#xff09;?它和原生事件有什么區別?解題思路:解釋合成事件&#xff0c;然后對比原生事件&#xff0c;然后再說他的優勢1.一致性 在 react里面&#xff0c;這個合成事件是非常重要的&#xff0c;因為它就是為了解決瀏覽器之間與事…