基于FunASR的實時語音識別系統(tǒng)設計與實現(xiàn)_第1頁
基于FunASR的實時語音識別系統(tǒng)設計與實現(xiàn)_第2頁
基于FunASR的實時語音識別系統(tǒng)設計與實現(xiàn)_第3頁
基于FunASR的實時語音識別系統(tǒng)設計與實現(xiàn)_第4頁
基于FunASR的實時語音識別系統(tǒng)設計與實現(xiàn)_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于FunASR的實時語音識別系統(tǒng)設計與實現(xiàn)摘要信息技術(shù)極速發(fā)展之際,語音識別技術(shù)于各領(lǐng)域全面鋪開,特別是在特殊教育領(lǐng)域中,手語與口語融合的教學形式已成常態(tài),但是當下的即時翻譯系統(tǒng)仍然存在不少問題,特別是當網(wǎng)絡狀況欠佳的時候,系統(tǒng)的性能就會受到很大影響,從而波及到教學質(zhì)量以及學生們的學習收獲,所以,本項研究規(guī)劃并達成了依托FunASR框架的實時語音識別系統(tǒng),目的在于改善現(xiàn)存系統(tǒng)在網(wǎng)絡波動和翻譯精準度上存在的短缺,該系統(tǒng)實施本地化設置,從而削減對網(wǎng)絡的依賴性,并融入熱詞動態(tài)調(diào)節(jié)體系和驗證說話人,極大地加強了語音識別的準確率和實用性。在研究過程中,系統(tǒng)在任何環(huán)境下的詞錯率維持在8%以內(nèi),其端到端時延被限制在600毫秒之內(nèi),可以符合教育,會議等各類應用場景的需求,相關(guān)研究顯示,依靠FunASR的語音識別系統(tǒng)既提升了識別效率,又加強了對復雜環(huán)境的適應能力,從而給特殊教育以及其他領(lǐng)域的實時語音識別賦予了牢靠的技術(shù)支撐。關(guān)鍵詞:FunASR實時語音識別Python熱詞識別驗證說話人DesignandImplementationofReal-timeSpeechRecognitionSystemBasedonFunASRKeyWords:FunASRReal-timespeechrecognitionPythonHotwordrecognitionSpeakerverification目錄TOC\o"1-3"\h\u8264第一章緒論 1192311.1選題背景 1305651.2研究現(xiàn)狀 1245511.3研究內(nèi)容 217234第二章工具及技術(shù)介紹 3213542.1FunASR框架介紹 31362.1.1FunASR簡介 3316582.1.2FunASR功能特點 3293772.1.3FunASR的應用 4174582.2Python技術(shù) 469592.2.1技術(shù)的應用 497192.2.2界面開發(fā) 516724第三章系統(tǒng)分析 6151803.1需求分析 6111783.2可行性分析 6144453.2.1技術(shù)可行性 6200943.2.2經(jīng)濟可行性 754853.2.3操作可行性 7109213.3系統(tǒng)操作流程 7236923.3.1實時識別流程 789733.3.2區(qū)分說話人流程 8266873.3.3熱詞識別流程 91791第四章系統(tǒng)設計與實現(xiàn) 11303164.1系統(tǒng)架構(gòu)設計 11166494.2開發(fā)流程設計 1225267第五章系統(tǒng)實現(xiàn) 14216695.1核心模塊實現(xiàn) 14101595.1.1音頻采集模塊 14273595.1.2實時錄音模塊 1419445.1.3模型推理模塊 15324365.1.4離線數(shù)據(jù)管理與安全存儲機制 16260465.1.5熱詞 16303175.1.6區(qū)分說話人 17257055.2界面開發(fā) 189741結(jié)論 2015170致謝 2113939參考文獻 22PAGEPAGE24第一章緒論1.1選題背景語音識別作為人機交互的關(guān)鍵技術(shù)之一,具有響應即時、操作便捷、使用者學習成本低等優(yōu)點REF_Ref5717\r\h[1]。信息技術(shù)極速發(fā)展之際,語音識別技術(shù)因其方便快捷,高效省時等優(yōu)勢,被全面應用到許多領(lǐng)域當中,特別在特殊教育領(lǐng)域,為適應特殊人群的學習需求,手語與口語結(jié)合的教學方式漸漸流行起來REF_Ref6779\r\h[2]。而即時語音識別系統(tǒng)屬于這種教學模式不可或缺的一種輔助工具,它所起的作用變得越發(fā)關(guān)鍵。但是當下市面上的即時翻譯系統(tǒng)在實際操作過程里還是暴露出不少問題,其一,網(wǎng)絡起伏會給系統(tǒng)帶來很大干擾,只要網(wǎng)絡狀況不佳,系統(tǒng)就極易產(chǎn)生卡頓,遲緩或者死機之類的狀況,從而極大地破壞教學的持續(xù)性;其二,由于翻譯不夠精準引發(fā)信息傳達有誤,造成學生不能正確領(lǐng)悟教學內(nèi)容,進而影響到學習成果REF_Ref7412\r\h[3]。這些問題既影響到特殊教育教學質(zhì)量的優(yōu)化,又阻礙著語音識別技術(shù)在特殊教育場景中的全面推廣及應用,所以,開發(fā)一款可切實應對依賴網(wǎng)絡程度較高,翻譯精準度欠佳等狀況的即時語音識別系統(tǒng)有著很強的現(xiàn)實價值。1.2研究現(xiàn)狀近些年來,智能語音識別技術(shù)的研究開發(fā)引發(fā)了全球范圍內(nèi)學術(shù)界和產(chǎn)業(yè)界的極大興趣,一些國際科技公司依靠強大的技術(shù)儲備率先取得進展,谷歌所推出的Speech-to-Text服務利用云架構(gòu)來支撐多種語言的高精度識別,微軟的AzureSpeech則借助深度神經(jīng)網(wǎng)絡在繁雜的聲學環(huán)境下有良好表現(xiàn),但這些商業(yè)系統(tǒng)大多采取閉源模式,用戶很難按照自身需求去更改模型參數(shù),而且它們過于依賴網(wǎng)絡的穩(wěn)定程度,這使得它們在離線情形下的可用性大打折扣REF_Ref7899\r\h[4]REF_Ref8193\r\h[5]。國內(nèi)研究同樣呈高速發(fā)展態(tài)勢,科大訊飛之類的廠商所推的離線語音引擎基本達成了基礎功能落地,但它的熱詞改良機制不夠靈活,多說話人場景中的語音分離精準度尚需加強,學界針對這些問題給出諸多革新方案,比如依靠端到端架構(gòu)的Conformer模型把注意力機制和卷積操作相融合,從而突出改善了長語音序列的識別效能;至于Whisper模型,則憑借海量多語種數(shù)據(jù)集展開訓練,在低資源語言識別方面表現(xiàn)出潛力,即便如此,當下的研究還是存在即時性短缺,本地化設置困難等狀況REF_Ref8803\r\h[6]REF_Ref8806\n\h[7]。在此種情形之下,開源框架FunASR由于自身具備的技術(shù)特性而成為關(guān)注重點,它支持流式與非流式混合解碼模式,可以借助動態(tài)調(diào)節(jié)上下文窗口來協(xié)調(diào)時延和準確率,內(nèi)部設置的熱詞加強模塊準許在運行時對詞表權(quán)重實施動態(tài)調(diào)節(jié),這給特別場景改良帶來新想法,而且,F(xiàn)unASR所采用的譜聚類算法還針對多說話人分離給予了輕量級解決辦法,當下的研究顯示,依靠這種框架的本地化系統(tǒng)能夠切實減小對網(wǎng)絡的依賴程度,不過怎樣更進一步改善模型推斷效率以及應對復雜環(huán)境時的穩(wěn)健性仍然須要深入探究。1.3研究內(nèi)容本研究著眼于高穩(wěn)定性即時語音識別系統(tǒng)的創(chuàng)建,要化解網(wǎng)絡依存度過大以及識別精準度不夠這兩個關(guān)鍵技術(shù)難點,研究內(nèi)容涉及系統(tǒng)架構(gòu)規(guī)劃,離線識別運用,熱詞模型改良以及系統(tǒng)檢驗四個主要方向,就架構(gòu)設計而言,遵照FunASR框架的分層設計思想達成功能模塊劃分,通過音頻收集層做到多線程即時流經(jīng)營,由業(yè)務邏輯層融合熱詞加強和說話人分開算法,推理引擎層裝載本地化模型執(zhí)行端到端語音轉(zhuǎn)寫,而交互顯示層依靠跨平臺界面給予視覺上的支撐,各個層次利用標準化接口相互配合,極大地改善了系統(tǒng)的拓展性和運行穩(wěn)定性。面對網(wǎng)絡環(huán)境的起伏不定狀況,系統(tǒng)憑借離線識別技術(shù)擺脫對云端的依靠,借助環(huán)形緩沖區(qū)來經(jīng)營音頻流數(shù)據(jù),并結(jié)合分塊式流解碼策略去動態(tài)處置語音片段,從而保證即便處于網(wǎng)絡中斷的情況下依然能夠持續(xù)給出識別結(jié)果。要想改善特定領(lǐng)域術(shù)語識別的準確度,給出了動態(tài)熱詞改良方案,允許用戶自行定義詞表來創(chuàng)建領(lǐng)域詞典,系統(tǒng)依照前綴樹索引即時比較熱詞路徑并施加熱詞解碼權(quán)重偏置,而且采用權(quán)重衰減防止舊熱詞影響語義剖析,在系統(tǒng)檢驗環(huán)節(jié),形成起多個層面的檢測環(huán)境,借助噪音擾亂,長時間語音以及多人對話這些數(shù)據(jù)集合,在8GB內(nèi)存,4核CPU的硬件條件下考量端到端延遲,詞錯誤率,熱詞命中情況這些關(guān)鍵指標,再按照考察結(jié)果去調(diào)整模型推斷效率和反常回應機制,從而達成高魯棒性語音識別系統(tǒng)的實際布置與應用。

工具及技術(shù)介紹2.1.LLM和ASR2.1.1LLM大型語言模型(LargeLanguageModel,LLM)屬于擁有數(shù)十億參數(shù)的人工智能系統(tǒng),專門用來認識和創(chuàng)造自然語言,這種模型通過大量語料實施訓練,可以執(zhí)行像文本總結(jié),語言翻譯,感情認知之類的諸多語言任務,由于它具有很強的上下文感知和推斷能力,所以在自然語言處理方面存在明顯長處,它所具有的寬泛泛化能力源自于對語言結(jié)構(gòu),語義關(guān)聯(lián)以及語用環(huán)境的深度學習,從而可以應對各種不同場景下的語言處理需求。本系統(tǒng)應用LLM的主要目的就是提升語音識別結(jié)果的語義理解和上下文連貫性,在實時語音識別的過程中,F(xiàn)unASR框架完成從音頻到文本的基本轉(zhuǎn)錄任務,而LLM在這一基礎上對識別結(jié)果實施語義優(yōu)化與術(shù)語補充,讓識別內(nèi)容更準確清晰,特別適合教育、醫(yī)療、會議等高要求場合。利用LLM加入系統(tǒng)之后,不僅可以使語義完整性得到加強,而且可以提升對于復雜對話及多角色場景語言歧義的解析能力,從而達成穩(wěn)定、高效又智能的語音識別體驗。2.1.2ASR自動語音識別(AutomaticSpeechRecognition,ASR)是把人的說話聲實時變成文字的一項技術(shù),它被用在人機交流,智能幫手,說聲音控,開會做記錄這些地方,ASR系統(tǒng)里有聲學模型,語言模型和解碼器,它們一起工作,把聽到的話音變成有用的特征,然后搞明白說的是什么意思,最后輸出和原來說話意思一樣的字,最近幾年,因為深度學習技術(shù)的進步,ASR的識別準確率和響應速度得到了顯著提升,語音識別已經(jīng)由傳統(tǒng)的規(guī)則系統(tǒng)演進為更智能、魯棒性更強的端到端模型。本系統(tǒng)之所以使用ASR模塊,關(guān)鍵原因就在于它對于實時語音理解來說有著基礎性的支持效果,通過選用FunASR當作關(guān)鍵架構(gòu),就能讓系統(tǒng)針對使用者所錄入的語音數(shù)據(jù)展開迅速處置,并給出對應的文本成果,這就給之后的大語言模型(LLM)語義強化給予了必要前提,在面對多種角色以及多重任務同步執(zhí)行這樣的狀況時,ASR既可以保證抓住語音訊息,又能給整個系統(tǒng)實現(xiàn)智能化運作賦予牢靠根基,依靠這種技術(shù)手段,系統(tǒng)在教育,醫(yī)療還有多語環(huán)境里都表現(xiàn)出較強的適應性和實際利用價值。2.2FunASR框架2.2.1FunASR簡介FunASR屬于開源的語音識別工具包,目的在于縮小學術(shù)研究和工業(yè)應用之間的差距,其給出了依靠大規(guī)模工業(yè)語料庫實施訓練所得到的模型,包含Paraformer,F(xiàn)SMN-VAD以及CT-Transformer模型,這些模型可用來創(chuàng)建高精度,高效率的語音識別系統(tǒng),適合于各類實際場景,涉及商業(yè)和工業(yè)領(lǐng)域REF_Ref20525\r\h[8]。FunASR的核心設計既重視效能又看重多種場景的適配性,這個框架采取流式和非流式一起的解碼形式,利用動態(tài)調(diào)節(jié)上下文窗口來協(xié)調(diào)即時性和識別準確性,以此適應各種應用場景的需求。從功能上講,F(xiàn)unASR融合多種預訓練模型,支持依靠前綴樹的動態(tài)熱詞加強技術(shù),用戶可以通過運行時權(quán)重調(diào)節(jié)來加大某些詞匯的識別優(yōu)先權(quán),而且,框架內(nèi)部設置輕量化譜聚類算法,可以有效地做到多說話人語音分離和日志標注。在性能改良上,F(xiàn)unASR借助內(nèi)存再利用和批處理加快策略,突出改善推斷速度,在單核CPU環(huán)境下,可以順暢應對16kHz音頻流,憑借模塊化設計和低代碼接入特點,給開發(fā)者給予迅速創(chuàng)建本地化語音識別系統(tǒng)的有力工具。2.2.2FunASR功能特點FunASR框架把技術(shù)更新當作關(guān)鍵,在語音識別上表現(xiàn)出立體度的功能長處,關(guān)于模型豐富性,它整合了包含多種語言和不同場景的預訓練模型庫,開發(fā)者可以很靈活地調(diào)用適合教育,醫(yī)療以及工業(yè)領(lǐng)域的專門模型,使用者依照自己的需求選擇合適的模型來符合實際情況,對于流式識別改良而言,利用分塊注意力掩碼技術(shù),按照動態(tài)調(diào)節(jié)上下文窗口范圍做到流式和非流式模式的隨時轉(zhuǎn)換,既守住了低時延又保留了高精準度識別能力,非常合適那些對時間限制比較敏感的即時字幕生成之類的場合。熱詞加強機制借助前綴樹結(jié)構(gòu)創(chuàng)建動態(tài)詞表索引,允許用戶自行定義領(lǐng)域內(nèi)的熱詞庫,并隨時調(diào)整權(quán)重參數(shù),在解碼時給熱詞路徑添加概率偏差,使得專業(yè)術(shù)語識別準確率改進超出18%。說話人分離功能融入輕量化譜聚類分析模塊,可以遵照聲紋特點給混合語音流做說話人身份標識,在多說話人情況下分離準確率超87%,從性能角度看,框架利用模型剪枝和內(nèi)存池復用達成推理提速,在單線程CPU環(huán)境下能穩(wěn)住處理16kHz音頻流,而且端到端時延被限制在500ms以內(nèi),符合工業(yè)級即時性需求,易用性設計還削減了開發(fā)難度,給出開箱即用的本地化布署方案,開發(fā)者只需把模型文件放在指定位置,并通過標準化API調(diào)用就可以做到功能融合,不用繁雜的環(huán)境設置或者代碼重新形成,從而大幅縮減系統(tǒng)研發(fā)歷時REF_Ref10103\r\h[9]。2.2.3FunASR的應用本系統(tǒng)設計當中,F(xiàn)unASR被當作核心語音識別引擎來用,它主要承擔著音頻特征獲取和語義拆解的任務,這種本地化的部署方式明顯減小了對云端服務的依賴風險,而Python則充當起語音數(shù)據(jù)預先處理的角色,利用多線程技術(shù)把隨時采集到的音頻流快速緩沖到環(huán)形緩存區(qū)里面,從而保證輸入的數(shù)據(jù)可以順暢地銜接上識別進程。系統(tǒng)依靠FunASR框架去載入預先訓練好的模型,采取分塊流式解碼的方法針對音頻小片實施動態(tài)加工,再加上熱詞權(quán)重改良以及說話者分離算法,就達成了高精度的即時語音轉(zhuǎn)錄效果,諸如在特別教育環(huán)境下,該系統(tǒng)能夠立即把老師講課的聲音轉(zhuǎn)為成文字字幕,而且憑借動態(tài)熱詞庫做到學科術(shù)語優(yōu)先識別,進而保障教學信息得以準確傳達出去。而且,本地化部署方案既防止因網(wǎng)絡波動而致使識別中斷,又憑借內(nèi)存復用技術(shù)削減硬件資源損耗,從而讓系統(tǒng)即便處于8GB內(nèi)存的設備之上,也能夠守住500ms以內(nèi)的端到端時延,這樣的架構(gòu)設計給離線環(huán)境中的即時互動賦予了穩(wěn)固支撐,并且統(tǒng)籌好了識別效率和精準度,可以應用到教育輔導,會議記錄以及醫(yī)療問診等諸多領(lǐng)域的場景當中。2.3Python技術(shù)2.3.1技術(shù)的應用Python屬于一種簡單易學的腳本語言,具備解釋性,編譯性,互動性且面向?qū)ο螅烁呒壍臄?shù)據(jù)結(jié)構(gòu),語法簡潔又具有動態(tài)類型以及解釋性等特性,所以成了眾多開發(fā)者的首選編程語言REF_Ref10495\r\h[10]。在這個系統(tǒng)當中,Python負責核心的數(shù)據(jù)處理和任務調(diào)度工作,其生態(tài)中的工具鏈給高效達成語音識別流程給予了重要支撐,語音數(shù)據(jù)預處理部分依靠PyAudio庫來做到多設備音頻捕捉,用環(huán)形緩沖區(qū)保存即時語音流,從而保證音頻輸入和模型推斷速度相適應。并行計算這個方面,系統(tǒng)依靠線程池來調(diào)度錄音,推理以及結(jié)果渲染任務,防止因主線程受阻而引發(fā)界面卡頓情況出現(xiàn),當音頻采集線程不斷接收麥克風輸入的時候,推理線程會調(diào)用FunASR模型實施即時解碼操作,這里利用了雙隊列機制以保證數(shù)據(jù)產(chǎn)生和消費過程中的線程安全問題。功能擴展性上,Python具備跨平臺特點,可以讓系統(tǒng)無阻礙地部署到Windows,Linux以及macOS環(huán)境當中。在開發(fā)的時候,利用科學計算庫來加快音頻特征獲取速度,日志模塊logging負責記載系統(tǒng)運作情況,整個架構(gòu)很好地顯現(xiàn)出Python在迅速創(chuàng)建原型以及實際工程項目兩方面的長處REF_Ref10766\r\h[11]。2.3.2界面開發(fā)系統(tǒng)界面采用PySide6作為開發(fā)框架,依托其對Qt元件的全面封裝,實現(xiàn)跨平臺圖形用戶界面的快速搭建與定制化。作為QtforPython的官方綁定庫,PySide6支持在Windows、macOS和Linux上原生運行,開發(fā)者無需處理平臺差異即可實現(xiàn)統(tǒng)一的用戶體驗。界面結(jié)構(gòu)通過QStackedLayout組件進行組織,用戶在錄音、文件管理與設置等多個功能頁面間切換時,系統(tǒng)能保持無延遲的視圖響應。為增強視覺一致性與品牌辨識度,系統(tǒng)引入QSS樣式表實現(xiàn)主題皮膚的快速切換,支持暗黑模式與明亮模式,滿足不同時間用戶的審美需求REF_Ref11161\r\h[12]。在功能實現(xiàn)方面,諸如音頻設備選擇與實時字幕顯示等關(guān)鍵部件均由PySide6內(nèi)建模塊驅(qū)動。信號與槽機制用于建立事件驅(qū)動邏輯,例如點擊“開始錄音”按鈕將自動激活音頻采集進程,并通過隊列機制異步傳輸識別結(jié)果到界面線程,從而避免主線程阻塞帶來的卡頓問題。為了提升界面響應效率,系統(tǒng)使用QTimer定時器實現(xiàn)周期性輪詢,僅增量更新最新識別內(nèi)容,極大地降低了重復繪制的計算開銷。此外,界面與后端解碼邏輯通過異步任務機制解耦,使界面操作始終保持高流暢度,即使在高并發(fā)識別場景中仍可維持60fps的交互表現(xiàn)。這一設計不僅優(yōu)化了系統(tǒng)的用戶體驗,也展現(xiàn)出PySide6在復雜語音應用中的強大適配力,為語音識別系統(tǒng)提供了穩(wěn)定且美觀的前端解決方案。第三章系統(tǒng)分析3.1需求分析本系統(tǒng)要符合實際應用場景中的核心功能需求,著重應對網(wǎng)絡依賴和識別精度短缺這兩個難點,從功能達成來看,系統(tǒng)要做到如下幾點:離線識別依靠本地化部署預訓練模型來做到?jīng)]有網(wǎng)絡時也可以執(zhí)行語音轉(zhuǎn)寫,利用分塊流式解碼技術(shù)保證音頻處理不斷開,免除由于網(wǎng)絡不穩(wěn)定造成的服務中止,熱詞優(yōu)先機制要允許用戶自行設定領(lǐng)域詞庫并隨時更改權(quán)重參數(shù),使得某些術(shù)語的識別正確率大大提高,說話人區(qū)分功能則是需按照聲紋特征聚類算法來達成多個說話人的語音分離,通過不同的文本顏色標明來區(qū)分各個說話者的講話內(nèi)容,以保障在教學或者會議等場合能夠讀懂相關(guān)信息REF_Ref11386\n\h[13]REF_Ref11537\n\h[14]。從可行性來看,技術(shù)方面依靠FunASR框架的快速解碼能力以及PySide6的跨平臺界面支撐,硬件配備只需8GB內(nèi)存和4核CPU就能達到即時處理的水平,經(jīng)濟上利用開源技術(shù)棧大幅削減了開發(fā)開銷,維護時借助模型版本自動同步減輕了人工負擔,操作方面設置起直觀的圖形界面,使用者通過菜單選擇就可達成錄音控制,熱詞管理,結(jié)果導出等功能,從而保證該系統(tǒng)在教學協(xié)助,遠程會議等場合具有普遍的可用性。3.2可行性分析3.2.1技術(shù)可行性本系統(tǒng)在技術(shù)達成方面具有充足的可行性,其核心功能依靠PySide6框架與FunASR模型的本地化融合來完成,界面部分通過PySide6塑造跨平臺交互界面,它所具備的信號槽機制和組件化設計可讓各個功能模塊有效地協(xié)作起來,從而滿足用戶操作以及結(jié)果顯示這兩方面的需求,而音頻處理模塊則憑借PyAudio庫做到了多平臺兼容,這個庫支持Windows系統(tǒng)的WASAPI,macOS的CoreAudio以及Linux的ALSA等各種音頻驅(qū)動協(xié)議,以保證在不同操作系統(tǒng)之下都能有穩(wěn)定的音頻輸入REF_Ref12111\n\h[15]。模型推理性能經(jīng)過實際測量驗證,單核CPU環(huán)境下能夠流暢處理16kHz采樣率,16bit位深的音頻流,端到端時延被限制在500ms以內(nèi),從而符合即時交互的時效需求,F(xiàn)unASR框架利用內(nèi)存復用和批處理改進技術(shù),即便處于有限計算資源之下仍然保留較高識別準確率,其詞錯率小于8%,而且,系統(tǒng)采取線程隔離手段把界面渲染和模型推理任務分開,免除因資源搶奪而產(chǎn)生性能障礙,保證在高負荷情況下依然可以穩(wěn)定運行,前面提到的這些技術(shù)挑選和完成計劃很好地表明,系統(tǒng)在功能完整性,運作效率以及跨平臺適配性上全都符合預期指標REF_Ref12506\n\h[16]。3.2.2經(jīng)濟可行性本系統(tǒng)在經(jīng)濟方面具備明顯優(yōu)勢,它的成本管控策略可較好地契合教育機構(gòu)及個人用戶的預算限制,硬件布置部分采取通用計算設備方案,一般教學計算機就能符合即時語音處理的性能需求,規(guī)避了因購買專門硬件而產(chǎn)生的多余花費。在軟件生態(tài)上依靠開源技術(shù)架構(gòu),F(xiàn)unASR模型不存在授權(quán)費這一情況,直接省去了商業(yè)軟件許可所需的開支。成本結(jié)構(gòu)細分為硬件方面只需采用支持主流x86架構(gòu)的終端設備,現(xiàn)存的教學機房設備就可以直接利用起來,而在維護開支上重點在于定時開展模型改良和異常檢測,開源社區(qū)給予的不斷更新的技術(shù)支撐還能進一步縮減人力守護成本,對比云端語音服務按照調(diào)用次數(shù)來收費的經(jīng)營模式,本地化布置方案使得長時間使用的成本幾乎變?yōu)榱悖@樣一種輕量級的經(jīng)濟模型既保證了系統(tǒng)在資源缺乏情況下的可行性,也給大規(guī)模的教育信息化布置供應了可模仿的成本范例。3.2.3操作可行性本系統(tǒng)通過直觀的圖形界面設計極大簡化了用戶操作的復雜程度,其界面菜單層次明晰,可以做到一鍵式語音識別控制,用戶能夠憑借可視化按鈕開啟即時錄音功能,識別結(jié)果會立即表現(xiàn)在交互面板上,而且還支持文本導出,這對于教學場景里的課件同步生成或者會議場景下的多語言紀要整理十分有利,系統(tǒng)具備跨平臺兼容性,可以適配課堂教學,在線視頻學習以及遠程協(xié)作會議等各類應用場景,無需專門培訓就能立刻掌握核心操作技巧,比如教師上課時點擊“開始轉(zhuǎn)寫”按鈕就可以自動創(chuàng)建字幕的文字文件,參會者利用熱詞標注功能就能迅速找到關(guān)鍵的討論內(nèi)容,這樣一種以用戶為中心的設計理念再加上標準化的操作流程,使得具有不同技術(shù)背景的人都能夠快捷地執(zhí)行語音識別任務,進而突出改善了該工具在多種場景下的實用價值REF_Ref14018\n\h[17]REF_Ref14051\n\h[18]。3.3系統(tǒng)操作流程3.3.1實時識別流程如圖3.1所示,用戶觸發(fā)“開始錄音”指令之后,系統(tǒng)根據(jù)匹配的音頻設備,來創(chuàng)建音頻輸入通道,獨立線程開啟之后就會以非阻塞形式去搜集即時語音流,免除對主線程資源形成占用情況REF_Ref14188\n\h[19]。采集模塊把語音信號按照每500ms時窗實施切片并打包成數(shù)據(jù)包,再通過隊列機制推送給推理模塊做批量處理,當模型做完音頻特征解碼工作以后,識別出來的文本借助信號槽通信機制跨越線程傳送到界面層,從而做到字幕內(nèi)容的動態(tài)渲染效果。比如在教學場景下教師講話在500ms時間之內(nèi)完成轉(zhuǎn)寫任務,轉(zhuǎn)寫結(jié)果立即覆蓋到課件表現(xiàn)界面上,達成一種音畫同步的教學輔助成果,這個流程依靠線程隔離以及數(shù)據(jù)批處理手段,既守住了低時延特性又守住了系統(tǒng)總體的穩(wěn)定狀態(tài)。圖3.1實時識別流程圖3.3.2區(qū)分說話人流程音頻采集結(jié)束以后,系統(tǒng)先會把錄音里的MFCC(梅爾頻率倒譜系數(shù))特征矩陣提取出來,用來描繪每位說話人的聲紋特征,提取的過程依靠預先訓練好的端到端深度神經(jīng)網(wǎng)絡模型REF_Ref14809\n\h[20]。這個模型會對聲紋數(shù)據(jù)執(zhí)行大量標注并學習,這樣就能在后續(xù)階段迅速辨別和區(qū)分已經(jīng)注冊過的用戶的聲音,然后把這些特征送入聲紋比對模塊,再同數(shù)據(jù)庫里存著的注冊模板展開相似度運算,最后得出是不是匹配的驗證成果。為了保證驗證的可靠性,研究過程中采用多種方法對聲學特征及算法性能進行分析,先是對MFCC特征的時頻分布和說話人個體差異進行定量分析,然后使用余弦相似度和DTW算法來比較不同說話樣本之間的距離REF_Ref14900\n\h[21]。依靠Scikit-learn庫所包含的譜聚類算法針對這個特征矩陣執(zhí)行無監(jiān)督學習,通過計算聲學相似性做到多說話人語音流的分組歸類,聚類成果經(jīng)過后處理模塊加以剖析之后,系統(tǒng)就在轉(zhuǎn)寫文本里插進諸如[SPK1]/[SPK2]之類的標準化標簽,并配合差異化的顏色標記方案去辨別不同發(fā)言人所說的話。在會議這種存在兩人及以上交流情況時,兩個說話者的對話被算法分開之后,他們各自對應的文本就會用藍色和綠色來突出顯示,這樣就能保證在有許多角色相互交流的時候,每條信息都可以回溯源頭。這一整套步驟借助聲紋特點的分析以及自動化的標簽添加操作,使得多人會話場景中的識別結(jié)果更便于閱讀也更具結(jié)構(gòu)性。用戶開啟數(shù)據(jù)錄入功能之后,系統(tǒng)會自行產(chǎn)生唯一識別編號,并把這個編號同新創(chuàng)建的數(shù)據(jù)條目相關(guān)聯(lián)起來,操作者通過交互界面來遞交結(jié)構(gòu)化的數(shù)據(jù)表單,系統(tǒng)便針對這些數(shù)據(jù)展開字段是否完整以及格式是否符合要求之類的檢查,如果所錄入的數(shù)據(jù)滿足預先設定好的一些規(guī)則(比如數(shù)值處于某個范圍之內(nèi),必填項目已全部填寫完畢等情況),那么就把該條記錄寫到數(shù)據(jù)庫的存儲引擎里面去,并且給出操作已經(jīng)完成的回應信息;要是其中包含了非法字符或者有某些必要的字段沒有填全,那么界面就立即告知具體出錯之處,然后需要改正之后再次發(fā)送上去才行。如圖3.2所示,當用戶開啟區(qū)別說話人功能之后,進行錄音時,會使用語音活動端點檢測模塊除去輸入音頻中的非人聲部分,將處理好的音頻按照固定的窗移和窗長進行切段,利用說話人模型提取切段的多個音頻段中的說話人特征,最后對特征進行聚類,識別出每個角色的音頻段,輸出相應的時間信息。圖3.2區(qū)分說話人流程圖3.3.3驗證說話人流程驗證說話人是確定一個給定的語音片段是否屬于聲稱的說話人身份的任務。通過包括兩個階段:前端[1,2,3]從輸入信號中生成固定維度的說話人表示,后端例如概率線性判別分析(PLDA)[4]比較兩個說話人表示之間的相似性,來確認它們是否屬于同一個說話人REF_Ref21165\r\h[22]。在本系統(tǒng)中,使用ERes2Net-Large模型來作為驗證說話人的必要步驟之一,它結(jié)合了全局特征和局部特征,局部特征融合將一個單一殘差塊內(nèi)的特征融合提取局部信號,全局特征融合則是使用不同層級輸出的不同尺度聲學特征聚合全局信號,從而提高了說話人識別性能。如圖3.3所示,在本系統(tǒng)中,使用驗證說話人的功能時,首先需要提前注冊聲紋,角色需要通過本系統(tǒng)的錄音功能來錄音聲紋音頻,或者選擇現(xiàn)有的音頻文件進行注冊聲紋。當進行注冊時候,聲紋特征模塊會采用梅爾頻率倒譜系數(shù)(MFCC)來將該音頻塊中的語音信號轉(zhuǎn)成高維特征向量,在這些特征向量經(jīng)聚類處理后會形成該說話人的專屬聲紋模型,同時關(guān)聯(lián)該說話人的身份標識信息。其次在進行錄音時候,系統(tǒng)持續(xù)接收到麥克風或其他音頻設備生成的音頻流數(shù)據(jù),將連續(xù)音頻切成一段段音頻塊,分割后的音頻塊會依次輸入到聲紋識別模型中進行推理識別,模型會對當前的音頻塊進行與注冊階段相同的特征流程,生成實時特征向量。隨后,系統(tǒng)將從數(shù)據(jù)庫中調(diào)取目標說話人的注冊聲紋模型來計算兩者間的相似度得分。當相似度超過預設閾值時,系統(tǒng)會判斷當前音頻塊屬于已注冊的說話人,否則觸發(fā)身份驗證失敗的機制,會終止該音頻塊的處理。然后,在成功通過聲紋驗證的音頻塊會被系統(tǒng)標注說話人身份標簽,在標記后的音頻塊會持續(xù)輸入到識別模型中進行識別語音轉(zhuǎn)文字的操作。最后輸出該說話人的信息,包括說話人標簽和文本內(nèi)容。圖3.3驗證說話人流程3.3.4熱詞識別流程如圖3.3所示,用戶通過自定義熱詞功能寫入熱詞表及權(quán)重,系統(tǒng)會針對詞表內(nèi)容展開語義剖析并執(zhí)行格式統(tǒng)一化操作,從而創(chuàng)建依靠前綴樹(Trie)數(shù)據(jù)結(jié)構(gòu)的動態(tài)索引庫,這個索引庫具備即時查詢和隨時更新的能力,而且利用路徑緊縮技術(shù)來改善存儲空間的利用率REF_Ref15534\n\h[23]。當模型在語音解碼環(huán)節(jié)對音頻流實施即時分析的時候,如果識別途徑和熱詞索引中的條目相契合,那么系統(tǒng)就會自主添加權(quán)重增益系數(shù),進而加強熱詞在候選結(jié)果當中的優(yōu)先級別REF_Ref15716\r\h[24]。比如在教育場景下導入學科術(shù)語詞表以后,像“傅里葉變換”這樣的專業(yè)名詞其識別的正確率得到了很大幅度的改進,并且還采用了權(quán)重衰退手段,按照時間窗口動態(tài)縮減以往熱詞所產(chǎn)生的影響權(quán)重,防止出現(xiàn)語義方面的擾亂狀況,整個流程就是借助動態(tài)詞表運作以及解碼改良措施來做到對于特定領(lǐng)域詞匯的有效識別和場景適應。圖3.4熱詞識別流程第四章系統(tǒng)設計與實現(xiàn)4.1系統(tǒng)架構(gòu)設計本系統(tǒng)依靠分層架構(gòu)模式達成功能模塊化并實施解耦,各個層級通過標準化接口相互協(xié)作REF_Ref16121\r\h[25]。音頻設備層承擔著硬件驅(qū)動以及原始信號采集的任務,可以適配多種平臺上的音頻輸入設備,流式處理層收到原始音頻流之后會開展語音活動檢測(VAD)分段操作,而且獲取梅爾頻率倒譜系數(shù)(MFCC)之類的聲學特征,從而給后面的處理供應標準化的數(shù)據(jù)輸入REF_Ref16363\r\h[26]。推理引擎層布置由Conformer編碼器和CTC解碼器形成的端到端模型,利用注意力機制與卷積運算相融合來改良聲學建模能力,達成高精度的語音轉(zhuǎn)寫,業(yè)務邏輯層整合了動態(tài)熱詞權(quán)重注入機制和譜聚類說話人分離算法,前者依靠前綴樹索引隨時調(diào)節(jié)解碼路徑的優(yōu)先級別,后者通過聲紋特征聚類做到多說話人的標簽標注REF_Ref16853\r\h[27]REF_Ref16856\r\h[28]。界面表現(xiàn)層依靠PySide6框架搭建起跨平臺的交互界面,用組件化設計達成多頁面轉(zhuǎn)換和即時字幕渲染,各個層級之間通過異步消息隊列和內(nèi)存共享完成數(shù)據(jù)的高效傳遞,比如把特征矩陣由流式處理層推送到推斷隊列,再由業(yè)務邏輯層分析結(jié)果之后觸發(fā)界面的增量刷新,這樣的分層設計既守住了系統(tǒng)的可拓展性,又利用資源隔離和并行計算策略協(xié)調(diào)好了性能和即時性之間的關(guān)系。如圖4.1所示,本系統(tǒng)采取分層架構(gòu)設計,各個層級相互協(xié)作來達成高效的語音識別,音頻輸入層負責硬件推動以及原始信號捕捉,它適配多種平臺的音頻設備,并管理即時音頻流輸入,流數(shù)據(jù)處理層針對音頻信號展開語音活動探測分段處理,獲取梅爾頻率倒譜系數(shù)等特征參數(shù),給后面的分析供應標準化的數(shù)據(jù)源,模型推斷層整合了多個混合模型,通過注意力機制和卷積網(wǎng)絡相融合去加強聲學建模能力,從而做到端到端的語音轉(zhuǎn)寫。業(yè)務邏輯層融入動態(tài)熱詞權(quán)重加載模塊與說話人區(qū)分算法,其中,動態(tài)熱詞權(quán)重加載模塊依靠前綴樹索引改善領(lǐng)域術(shù)語識別率,而說話人區(qū)分算法憑借聲紋特征分析達成多角色語音標注。交互顯示層依靠PySide6組件形成可視化界面,憑借多線程渲染技術(shù)達成字幕即時更新并回應操作,各個層級通過異步通信協(xié)議和內(nèi)存共享機制做到數(shù)據(jù)的高效流轉(zhuǎn),比如把特征矩陣通過隊列推向推斷引擎,再由識別結(jié)果借助信號槽機制促使界面動態(tài)刷新,這樣的結(jié)構(gòu)借助模塊化設計和資源隔離策略,既關(guān)注到系統(tǒng)的可擴展性又重視其運行的穩(wěn)定性。圖4.1系統(tǒng)結(jié)構(gòu)設計圖4.2開發(fā)流程設計系統(tǒng)開發(fā)依照結(jié)構(gòu)化工程流程執(zhí)行,從需求定義到最終交付達成全鏈路閉合運作,需求分析階段借助技術(shù)可行評定,確立離線識別,熱詞權(quán)重推理,說話人區(qū)分這些關(guān)鍵功能指標,系統(tǒng)模型設計部分作出分層架構(gòu)規(guī)劃,把音頻收集,流式處理,模型推理和界面表現(xiàn)分成四個模塊,如圖4.2所示。圖4.2開發(fā)流程設計圖詳細設計及編碼期間執(zhí)行模塊化開發(fā)策略,憑借接口協(xié)議定義達成各個功能單元的解耦,音頻處理模塊用PyAudio達成多線程采集,模型推理模塊整合FunASR預訓練模型并改善批處理邏輯,業(yè)務邏輯層嵌入熱詞權(quán)重調(diào)節(jié)以及說話人區(qū)分算法。系統(tǒng)融合與驗證環(huán)節(jié)展開立體度檢測,其中包含單元考察以證實模塊獨立性,壓力考察用來評定即時性表現(xiàn)(端到端時延小于等于500毫秒),還有噪聲環(huán)境中的魯棒性考察(WER小于等于8%)REF_Ref17865\r\h[29]REF_Ref17872\r\h[30]。按照考察回饋來更新改良異常處理機制和資源調(diào)度策略,最后達成跨平臺部署包的封裝并對技術(shù)文檔實施歸檔,從而給后續(xù)的功能拓展和運維升級形成基礎。第五章系統(tǒng)實現(xiàn)5.1核心模塊實現(xiàn)5.1.1音頻采集模塊QMediaDevices是QT6框架中Qt.Multimedia模塊的核心類之一,它用來管理系統(tǒng)的音頻和視頻輸入輸出設備。它為開發(fā)者提供了統(tǒng)一的接口來枚舉設備,并獲取設備信息和監(jiān)聽設備狀態(tài)變化,它還有一個優(yōu)點是,支持跨平臺的多媒體設備操作,這也為未來提供了基礎。當實時識別時,需要先錄入音頻數(shù)據(jù),如麥克風等設備,因此這里選擇QMediaDevices接口來管理系統(tǒng)的音頻設備,并使用它來開啟音頻設備,將錄入的音頻數(shù)據(jù)傳遞到另一個模塊進行處理??紤]到每個設備上的音頻設備有所差異,因此使用Pyside6來顯示QMediaDevices獲取到的音頻設備信息,并且進行選擇音頻設備來錄音。音頻采集模塊依靠設備管理功能來動態(tài)掃描并識別可用的輸入設備,如圖5.1所示,通過QMediaDevices獲取到系統(tǒng)中所有可用的音頻或視頻的輸入輸出設備,它可以在多種不同平臺上獲取到系統(tǒng)的所有音頻輸入輸出設備,而圖5.2中,獲取到的音頻輸入輸出設備會在Pyside6界面中顯示,供應用戶選擇不同的音頻設備來使用實時語音識別的功能。圖5.1獲取音頻輸入輸出設備圖5.2字幕顯示圖5.1.2實時錄音模塊實時錄音模塊屬于語音識別系統(tǒng)的重要組成部分,它負責不斷捕捉用戶的語音輸入,然后傳送給識別引擎,在本系統(tǒng)當中,采用sounddevice(簡稱sd)庫去創(chuàng)建音頻輸入流,這個庫依托PortAudio接口,給予高效又跨平臺的音頻采集性能,系統(tǒng)在啟動的時候,會查看self.stream是否已經(jīng)創(chuàng)建,如果沒有就構(gòu)建新的InputStream實例,設置采樣率,通道數(shù),數(shù)據(jù)塊大小等參數(shù),而且還要指定回調(diào)函數(shù)self.audio_callback來處理每一小段音頻。音頻流創(chuàng)建完畢之后,調(diào)用start()方法來啟動錄音進程,系統(tǒng)借助threading庫創(chuàng)建并啟動一個獨立線程,專門用來調(diào)用recognize_audio函數(shù)執(zhí)行語音識別任務,這樣就能達成音頻采集與處理的并發(fā)運行,這種異步架構(gòu)明顯加快了響應速度,改善了系統(tǒng)的穩(wěn)定性,在復雜的應用場景當中,實時音頻不會出現(xiàn)延遲或者丟失的現(xiàn)象,通過這個模塊,系統(tǒng)可以自然而然地對接用戶的語音輸入,給后面的語義分析以及文本生成賦予優(yōu)質(zhì)的音頻素材。如圖5.3所示,實時錄音模塊基于異步音頻捕捉與非阻塞輸入技術(shù),支持實時識別與音頻流高速采集。模塊通過指定采樣率和編碼參數(shù),確保語音輸入的清晰度與識別穩(wěn)定性。同時結(jié)合雙緩沖策略優(yōu)化數(shù)據(jù)流傳輸效率,使語音信號以500ms切片方式持續(xù)輸入至識別引擎。識別結(jié)果通過多線程機制實時回傳并增量渲染為字幕內(nèi)容,保障字幕與音頻同步呈現(xiàn),如圖5.4所示。該模塊適用于教學、會議等場景,具備良好的系統(tǒng)適配性與字幕顯示能力,有效提升語音識別的實用性與可視化體驗。圖5.3錄音與識別雙線程圖5.4字幕顯示圖5.1.3模型推理模塊該系統(tǒng)是本地部署,因此模型也在本地加載,而FunASR框架有AutoModel庫,它用來加載模型,支持不同配置的模型初始化。它主要可以級聯(lián)加載VAD、標點、聲紋等多任務模型,熱詞和說話人區(qū)分模型都是借此實現(xiàn)的。它也可以自動檢測硬件設備,例如CPU和GPU,方便不同設備運行FunASR。當模型使用AutoModel庫本地加載并初始化之后,若需要執(zhí)行識別語音的任務,則需要用到generate()接口來實現(xiàn),在使用generate()接口時,它支持流式輸入,或者文件輸入,例如音頻文件或麥克風等音頻設備來輸入;在執(zhí)行識別任務時需要規(guī)定時長、音頻塊大小,編碼器歷史窗口數(shù)等屬性來輸出合適的結(jié)果。主要是根據(jù)chunk_side來切割音頻流,通過VAD來檢測有效語音段,并且采用CTC/Attention混合結(jié)構(gòu)來實現(xiàn)低延遲,而編碼器歷史窗口數(shù),也就是上下文,它可以保留歷史信息,還支持超長的會話。首先要本地加載模型,如圖5.5所示,加載了識別、熱詞和說話人模型,并且初始化,在執(zhí)行任務使用generate()接口來調(diào)用模型進行推理。圖5.5本地加載模型當創(chuàng)建錄音流,并且錄入的音頻數(shù)據(jù)或文件,傳遞給generate()接口進行模型推理的時候,模型推理會通過批處理策略把多段音頻數(shù)據(jù)轉(zhuǎn)化適合模型輸入的格式,而音頻數(shù)據(jù)通過indata.copy()進行淺拷貝,避免了PyAudio緩沖區(qū)復用的問題,其次,chunk_size配置三級緩存策略,來平衡延遲和準確率,也實現(xiàn)了480ms端到端的延遲,如圖5.6所示,使用模型推理。圖5.6模型推理5.1.4離線數(shù)據(jù)管理本系統(tǒng)具備完善的離線使用能力,如圖5.7所示,用戶可以通過自定義路徑,來指定存儲位置,系統(tǒng)會自動創(chuàng)建音頻文件和識別文本的文件,確保轉(zhuǎn)寫內(nèi)容具備追溯性。識別結(jié)果將以UTF-8格式寫入本地,便于在教學等場景中實現(xiàn)語音與上下文的結(jié)構(gòu)化歸檔。其次,采用異步寫入與事務回滾策略,即使在高并發(fā)環(huán)境中也可確保文件寫入的完整性與系統(tǒng)穩(wěn)定運行,為斷網(wǎng)環(huán)境下的語音處理提供堅實的支持。圖5.7文件指定保存路徑如圖5.8所示,當執(zhí)行錄音流時,音頻數(shù)據(jù)會臨時存儲到self.audio_buffer,在錄音過程中使用save_audio_file()方法來收集音頻片段,這為未來需要保存音頻文件提供了數(shù)據(jù),便于使用。當錄音結(jié)束之后,需要保存音頻文件時,會用到soundfile庫,這里簡稱sf,使用sf.write()方法來將numpy數(shù)組格式的音頻數(shù)據(jù)保存到wav文件中,然后通過os.path.join()構(gòu)建符合本地文件系統(tǒng)規(guī)范的路徑,來保存指定路徑上的文件。圖5.8保存音頻文件5.1.5熱詞想要讓語音識別系統(tǒng)在特定的領(lǐng)域或者場景下更加準確地識別,系統(tǒng)就加入了熱詞增強的功能。所謂熱詞,就是在實際使用過程中經(jīng)常會出現(xiàn)的識別容錯度要求不高的一些關(guān)鍵詞,比如企業(yè)的名字、專業(yè)術(shù)語或者是用戶自己定義的一些詞條,通過加載熱詞表之后,這些詞匯就會被給予更高的識別權(quán)重,在進行解碼的時候,它們的匹配優(yōu)先級就會得到提升,識別出錯誤的可能性就會降低REF_Ref18358\r\h[31]。為提升長時間運行中的識別準確性,系統(tǒng)引入熱詞權(quán)重衰減機制。該方法通過設置時間窗口,對歷史高頻詞匯的權(quán)重進行動態(tài)下調(diào),減少其對后續(xù)識別過程的干擾。同時,熱詞識別依據(jù)0-100的權(quán)重等級執(zhí)行優(yōu)先匹配,確保重點詞匯獲得更高識別準確率,如圖5.9所示。模塊還支持在運行過程中熱更新詞表,用戶對熱詞文件的任何調(diào)整將通過文件監(jiān)聽機制自動觸發(fā)索引重建,確保修改實時生效。結(jié)合動態(tài)詞表管理與智能解碼策略,有效增強了系統(tǒng)對特定領(lǐng)域術(shù)語的適應與識別能力。同模型推理模塊,熱詞需要使用到本地加載的熱詞模型,當使用AutoModel來加載熱詞模型,并在界面中,若判斷界面有輸入的熱詞表,則需要用到熱詞模型來調(diào)用,如圖5.10所示,拼接部分音頻塊,供給熱詞模型進行推理,當推理完畢,識別出來的熱詞結(jié)果,會傳遞到隊列中更新界面中的文本框。圖5.9熱詞權(quán)重設置圖5.10熱詞推理5.1.6區(qū)分說話人復雜環(huán)境下錄制的語音數(shù)據(jù)集日益增多,這些數(shù)據(jù)集的數(shù)據(jù)量變得更大,甚至出現(xiàn)了包含數(shù)十萬乃至上百萬條語音的說話人識別語音數(shù)據(jù)庫。面對這樣復雜而龐大的語音數(shù)據(jù)集時,系統(tǒng)會獲取語音信號的MFCC特征矩陣,用以表示不同說話人的聲紋特點,利用Scikit-learn所整合的譜聚類算法實施無監(jiān)督學習,通過計算聲學相似度來做到多說話人語音的分組歸類,聚類之后的結(jié)果經(jīng)過后處理模塊加以分析,系統(tǒng)就會自動在轉(zhuǎn)寫文本里添上諸如[SPK1]/[SPK2]之類的標準化標簽,并配合標簽標記方案去區(qū)分各個發(fā)言人所說的話,比如在會議場景當中,當有兩個人展開對話的時候,他們各自的發(fā)言內(nèi)容便會用數(shù)字予以突出顯示,從而保證多角色互動交流的信息具備可追溯性。為了實現(xiàn)多角色語音識別并且提高文本輸出的語義清晰度,系統(tǒng)研發(fā)了驗證說話人(SpeakerVerification)功能。首先需要用戶在系統(tǒng)啟動之前就完成注冊聲紋的工作,把每一個說話人的MFCC(梅爾頻率倒譜系數(shù))特征模板存入數(shù)據(jù)庫中,當系統(tǒng)運行的時候,會把輸入的音頻按照一定的長度進行切分,并且提取出每一小段的聲紋特征向量,之后把這些向量同存儲在數(shù)據(jù)庫中的模板執(zhí)行相似度對比,如果對比得分大于預定的閾值,那么就可以認定是同一個人說的,進而輸出該說話人的文本內(nèi)容,倘若對比得分小于閾值,則放棄這一小段語音,不會將其包含在最終的結(jié)果當中REF_Ref18195\r\h[32]。此模塊憑借動態(tài)窗口機制來改良長語音的處理效率,從而支撐即時場景中的說話者身份轉(zhuǎn)換檢測,并采用置信度閾值對低質(zhì)量聚類結(jié)果執(zhí)行過濾,免除噪聲干擾引發(fā)的錯誤標注情況,試驗顯示,在多人對話數(shù)據(jù)集當中,說話人區(qū)別的準確率可達86%,而且端到端的處理時延不到500ms,通過聲紋分析和自動標簽注入,該設計突出加強了復雜場景下語音識別的結(jié)構(gòu)化輸出能力。如圖5.11所示,開啟區(qū)分說話人的功能后,在錄音過程中,音頻塊積累到一定的大小,傳遞到說話人區(qū)分模塊中,自動注冊第一個說話人的聲紋,然后遍歷說話人列表,檢測該音頻塊是否符合說話人列表中的聲紋,若不是,則繼續(xù)注冊新的說話人聲紋,若是則通過該音頻塊,并在第二個音頻塊中繼續(xù)檢測。圖5.11區(qū)分說話人模塊如圖5.12所示,在依次注冊不同的說話人聲紋,會執(zhí)行不同說話人聲紋特征保存的方法,也就是生成臨時聲紋文件,生成臨時聲紋文件之后,從其中提取聲紋特征,并且更新注冊說話人列表,依次標記說話人1,2,3……的信息。效果如圖5.13所示,在區(qū)分說話人模塊中通過的該音頻塊,會依次輸入到識別模型中進行識別語音轉(zhuǎn)文字的操作,再依次輸出不同說話人的文本內(nèi)容。圖5.12臨時聲紋保存模塊圖5.13區(qū)分說話人效果5.1.7驗證說話人在復雜場景中對實時識別有不少要求,例如在教育場景下,只識別教師的說話內(nèi)容,不識別其他人的說話內(nèi)容情況下,可以使用驗證說話人的功能,因此,本系統(tǒng)對此研發(fā)了驗證說話人的功能。在開啟驗證說話人的功能之前,首先要提前注冊說話人的聲紋,上傳要注冊的說話人音頻文件或使用本系統(tǒng)的錄音功能錄制聲紋,并且保存下來該文件,然后繼續(xù)上傳該文件進行注冊聲紋的操作。如圖5.14所示,在注冊聲紋時,會讀取該文件的數(shù)據(jù)并解碼,然后注冊該說話人的信息到列表中,在之后錄音的時候會使用注冊說話人列表進行聲紋匹配。在注冊聲紋后,才可以開啟驗證說話人的功能,開啟后,在錄音過程中,音頻塊積累到一定的大小,再傳遞到驗證說話人方法中進行驗證說話人的操作,依次把音頻塊傳遞到該方法中,判斷該音頻塊是否與注冊說話人列表中的聲紋符合,若計算相似度符合預定的閾值,則會判斷該音頻塊與注冊說話人聲紋時一致,并且標記該音頻塊,如圖5.15所示。圖5.14注冊說話人圖5.15驗證說話人模塊如圖5.16所示,被標記通過的音頻塊依次傳遞到識別模型中進行語音轉(zhuǎn)文字的操作,并綁定注冊說話人的信息,輸出該說話人的信息,包括注冊說話人名稱和文本內(nèi)容,驗證說話人效果輸出如圖5.17所示。圖5.16識別模型處理標記的音頻塊圖5.17驗證說話人效果5.2界面開發(fā)系統(tǒng)采用模塊化界面設計,通過PySide6構(gòu)建多個功能頁面,借助QStackedWidget實現(xiàn)實時識別,文件管理和聲紋管理及系統(tǒng)設置的界面之間平滑切換。它支持將多個獨立界面進行堆疊管理,通過索引或名稱動態(tài)切換顯示內(nèi)容。還有一個好處是可以將所有的子部件都共享在同一個區(qū)域,避免了為每個功能單獨創(chuàng)建窗口,減少內(nèi)存占用。而且隱藏的子部件會保留其狀態(tài),例如輸出日志,控件狀態(tài)等,當切換回來時不需要初始化子部件。實時識別界面集成了輸入設備選擇、熱詞設置及字幕開關(guān)等功能,用戶可通過下拉菜單快速更換不同的音頻設備并控制錄音流程,在實時識別時還可以設置熱詞權(quán)重,便于識別結(jié)果優(yōu)化。最后,若在教學、會議等場景的情況下,可開啟字幕,便于記錄內(nèi)容及其他用途等,如圖5.18所示。圖5.18實時識別界面文件管理界面支持路徑設置及打開文件夾、查看和文件的批量刪除或打開操作,提升文件處理的靈活性與效率,如圖5.19所示。圖5.19文件管理界面聲紋管理界面包括說話人列表、聲紋播放、修改說話人名稱、聲紋上傳和刪除的功能,并且可以標注說話人的顏色。供以驗證說話人的功能使用,如注冊聲紋、修改說話人名稱和標注顏色,使識別方便和清楚,如圖5.20所示。圖5.20聲紋管理界面系統(tǒng)設置界面包括主題切換功能,用戶可在明亮與夜晚模式間一鍵切換,視覺風格統(tǒng)一且自適應環(huán)境光。同時,還支持修改輸出日志的字體樣式格式,也可以修改不同的顏色標注,用戶可以進行調(diào)整不同說話人的顏色。整體界面更新采用增量繪制策略,在信號與槽機制的支持下實現(xiàn)邏輯與視覺層的解耦,確保在普通設備(如8GB內(nèi)存)上依然維持60fps的流暢體驗。該設計在保障跨平臺兼容性的同時,提升了界面的實用性與操作體驗,如圖5.21所示。圖5.21系統(tǒng)設置界面結(jié)論本文創(chuàng)建起依托FunASR框架的高效即時語音識別系統(tǒng),該系統(tǒng)的本地化運行環(huán)境及模塊化功能融合達到預先設定的目標,借助動態(tài)的熱詞權(quán)重和輕量化說話人區(qū)別,這個系統(tǒng)在嘈雜環(huán)境中做到詞錯率小于8%,端到端時延少于600ms的效果,可以滿足教育,會議等場景的應用需求。說話人區(qū)別模塊仍有不足之處,例如在噪音大的環(huán)境下,可能無法正確識別出說話人的音頻,而且在多人同時說話的情況下,會無法識別出不同說話人,未來仍然要改進這一點。未來的研究將會圍繞如下幾個方面展開:第一點,塑造移動端跨平臺方案,兼顧Android和iOS兩個操作系統(tǒng),從而拓寬應用范圍;第二點,利用聲紋識別技術(shù)來改善即時說話人標注機制,憑借生物特征驗證加強身份分辨的準確度和回應速度;第三點,改良訓練數(shù)據(jù)集合的領(lǐng)域覆蓋面以及噪聲豐富程度,采取半監(jiān)督學習手段加強模型在少資源語種及專業(yè)術(shù)語環(huán)境中的推廣能力;第四點,要改善在噪音大的環(huán)境下仍然能識別出來說話人的音頻;第五點,進一步實現(xiàn)多人同時說話,仍然能識別出來不同說話人的結(jié)果。

參考文獻李佳桐.基于FPGA的智能中文語音識別系統(tǒng)的設計與實現(xiàn)[D].中國電子科技集團公司電子科學研究院,2021.胡學平.特殊教育和語言關(guān)聯(lián)領(lǐng)域的研究現(xiàn)狀及啟示[J].淮北師范大學學報(哲學社會科學版),2024,45(03):118-124.贠旭.基于Android平臺的移動智能翻譯系統(tǒng)設計與實現(xiàn)[J].微型電腦應用,2022,38(02):53-55+59.B?ckAG,Nordstr?mT,SvenssonI.EnhancingMiddle-SchoolStudents’TextualExpression:TheComplementaryRoleofSpeech-to-TextTechnology[J].Reading&WritingQuarterly,2025,41(2):160-175.CallMinerCombinesConversationAnalyticsPlatformWithMicrosoftAzureSpeecht

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論