?

基于語音識別的摩爾斯碼訓練系統研究

2024-04-16 03:25張驍韓凱
電子制作 2024年6期
關鍵詞:摩爾船員波形

張驍,韓凱

(海軍潛艇學院,山東青島,266000)

0 引言

摩爾斯碼又被稱為摩斯電碼,是通過點、劃、點和劃之間的停頓、每個字符之間的停頓以及單詞之間的停頓來實現不同的英文字母、數字和標點符號發送的編碼方式。從19 世紀初開始,摩爾斯碼就廣泛應用于電報通信、緊急救援以及軍事通信中,至今仍是一些緊急情況下的備用通訊形式。尤其是在艦船和陸地之間、艦船之間的通訊中,摩爾斯碼發信作為穩定、簡捷的通訊手段,是部分專業船員的必修課程。

摩爾斯電碼對應的字符是全球統一的,直接采用代碼發送的文字字符稱作明碼,也就是不加密的信息,任何收到明碼的電報員都可以通過電碼表翻譯出發送者的原文。[1]摩爾斯碼收發信通常需要結合燈光進行,通過目力觀察燈光閃爍的長短和間隔,來實現報文內容的收發。海上收信環境復雜,要求船員對摩爾斯碼非常熟悉才能準確收到報文,這需要通過持續性的日常訓練維持收信水平。以往的摩爾斯碼的訓練以一人發送、一人手抄練習為主,效率低且受場地制約較大。使用智能終端為載體,基于Android 平臺開發以語音識別為主的摩爾斯碼訓練系統能很好地解決船員出海時摩爾斯碼的日常訓練問題,大大提高船員摩爾斯碼訓練水平。

1 語音識別的技術原理

語音識別從根本上來說是根據語音特征參數的模式識別,目標的語音輸入后經過預處理階段,隨后通過具體的識別系統提取目標聲紋特征,再根據重復性訓練的成果,將輸入的語音按一定特征模式進行歸類并保存下來。當再次遇到輸入的語音后,系統將結合目標聲紋特征,選取與之匹配的聲紋類別,從而實現語音識別的目的。目前,大多數語音識別系統中都已經應用了模式匹配這一原理,圖1 是基于模式匹配原理的語音識別系統框圖。

圖1 基于模式匹配原理的語音識別系統框圖

模式識別一般包括預處理、特征提取、模式匹配等基本模塊。預處理又可以分為分幀,加窗,預加重等,是對目標輸入的語音信號進行初次處理,以凸顯其聲紋特征。其次是特征提取,對采集到的聲音信號特征提取,從而區分不同的聲音信號,根據聲紋特征選擇合適的特征參數。語音識別之前,要針對要識別的語音對識別系統進行重復性的訓練,根據語言中的規律,將音素或音素序列轉化為文本信息,最后根據失真判決準則來實現語音識別。

2 語音識別的摩爾斯碼訓練系統設計

■2.1 系統總體設計

摩爾斯碼標準是通過時間間隔來進行分辨的。在發送摩爾斯碼時,一個點的時長是一個單位時間,一個劃的時長是三個單位時間,點和劃之間的間隔是一個單位時間,字母之間是三個單位時間,單詞之間是七個單位時間,通過燈光明暗、聲音持續時間等來體現時間間隔。對于訓練系統的設計,首先要解決的問題就是如何將摩爾斯碼的發送,通過訓練設備外置的燈光信號實現,從而通過燈光信號完成人機交互。

我們將信號的發送部分設置為亮燈,間隔部分設置為滅燈,通過控制亮燈和滅燈時長來實現摩爾斯碼的發送。例如摩爾斯碼:-...(B)..(I) --.(G) -.-.(C).-(A) -(T)可以轉換為二進制:1110101010001010001110111010000000111010111 0100010111000111,根據此序列設計程序來對外置燈光進行控制,從而實現對摩爾斯碼的發送。

其次要達到階梯型訓練目的,在系統設計上要實現發送速度的可調節性,通常根據受訓者的學習階段不同,訓練系統要完成每分鐘30 碼~45 碼的發送速度調節。在輸入發送報文后,系統將要發送的報文所包含的字符量根據上述規則轉化為單位時間,再根據受訓者設置的發送碼速計算單位時間的發送時長,通過軟件控制一個單位時間的實際時長,從而實現對發送速度的調節。

最后要滿足船員訓練的實時性和便捷性,在系統中加入語音識別功能。由于燈光信號的訓練需要受訓者同步翻譯成明碼報文,采用打字輸入的方式會影響到后續報文的接收。所以在接收到燈光信號后,通過麥克風說出接收到的摩爾斯碼代音的方式能很好解決這一問題。訓練系統實時識別語音內容并判斷對錯,記錄在訓練系統后臺,在本次訓練結束后顯示正確率及錯誤點,能夠有效幫助船員及時了解自己不足并進行糾錯。

■2.2 語音識別模塊設計

目前人工智能在語音處理方面已經達到了比較精確的階段,但是基本上都需要連接互聯網來實現功能。由于船員出海訓練時經常會處于無網絡狀態,所以本系統需要在不聯網的情況下進行語音識別,這就需要對摩爾斯碼語音識別方面進行深入研究。經過對比選型,科大訊飛的離線產品可以基本滿足不聯網狀態下語音識別的要求,通過不同船員提供的大量語音訓練模型,可以使訓練系統的語音識別率準確度達到90%以上,識別響應時間小于1s。

語音識別技術中的特征提取是語音識別技術應用的關鍵部分,將標準語言通過 AI 處理技術轉換成數字信息,并從中提取出需要的特征參數[2]。為了便于區分不同摩爾斯碼,不發生混淆,我們在訓練時經常將摩爾斯碼的讀法通過代音來區別,例如將字母k 讀作客人,r 讀作日光等,這一訓練方法也可以應用于語音識別當中。代音讀法可以在訓練中增強特征參數,提高語音識別成功率。

船員訓練時通過語音收集裝置將聲音以波的形式錄入到智能終端中,錄入的聲音文件通常需要轉成非壓縮的純波形文件來處理,如wav 文件就是常用的文件形式。wav 文件里存儲的內容包含一個文件頭,以及聲音波形的一個個點,便于我們提取出聲音的分段波形。圖2 是提取的一個聲音波形示例:零零客人日光(00kr)。

圖2 提取聲音波形示例

聲學模型的建模也即對似然概率部分的建模,即給定文本序列之后生成對應語音的概率, 是整個語音識別中最核心的部分,也是最復雜的部分[3]。在開始語音識別之前,首先需要用到信號處理技術把首尾端的靜音切除,降低對后續步驟造成的干擾,這種靜音切除的操作被稱為VAD。對于濁音音素,聲帶的振動產生諧波豐富的聲音,具有50~250 Hz 之間的明顯音調。所有元音及也有一些輔音,可能會表現出這種諧波結構,因此這種特征被認為是語音的特征。然而單獨使用基于諧度或基于音調的特征不能預期無聲語音部分(例如一些摩擦音),所以在靜音切除時要避免誤識別。如圖3 所示,是字母c “瓷器”的發音,上方波形是未進行降噪和切除靜音,下方是進行降噪和靜音消除之后的波紋。

圖3 VAD 前后聲音波紋對比

在此基礎上要對聲音進行分析,就需要對聲音進行分幀,也就是把聲音切開成一小段一小段,每小段稱為一幀。通過分幀處理,我們可以將聲音波形分成數段,便于對波形進行深入分析。此時聲音波形的特征并不凸顯,為了提取聲音波形的特征,我們要對波形進行變換。常見的一種變換方法是提取MFCC 特征,根據人耳的生理特性,把每一幀波形變成一個多維向量,可以簡單地理解為這個向量包含了這幀語音的內容信息。這個過程叫做聲學特征提取[4]。在提取到一定數量的聲學特征后,將聲學特征輸入到訓練系統中,通過機器學習進行訓練,并形成聲學模型。在程序調用過程中會根據實際輸入的聲音,通過模型對比分方式來獲取對應的文字。如圖4 所示,分別是兩個“瓷器”的發音,經過模型對比計算可以對應出“瓷器”詞組,從而實現摩爾斯碼的語音識別功能。

圖4 聲學模型對比圖

圖5 語音識別效果評估

同理,系統通過不斷的訓練將逐步完善聲學模型,將摩爾斯碼的字母、數字、符號與各個代音關聯起來,從而實現訓練中的實時語音識別和糾錯功能。在識別過程中可能會遇到同音漢字詞組的產生,可以采用詞組聲母識別的方式可以消除同音詞和音類似詞的混淆。

3 訓練系統軟件設計

■3.1 Json 結果解析

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,它使用易于讀寫的文本格式來表示數據對象。JSON 是一種常見的數據格式,主要用于傳輸數據??拼笥嶏w返回是json 格式,首先要對返回的 JSON 格式的數據進行解析,具體代碼如下:

進行結果解析之后,我們就可以將聲音波形與預先訓練的模型進行匹配,從而轉換為實際讀出的中文文字,接著進行下一步識別。

■3.2 語音識別功能實現

通過解析可以得到返回的中文文字,此時將得到的中文文字通過代音對應的方式轉為相應的字母,便于進行下一步識別:

再根據模型結果進行語音識別過程,通過聲學模型對比的方式進行匹配,部分摩爾斯碼識別過程示例如下:

經過測試比對,此系統的語音識別率達到95.2%,識別時間平均時長為0.63s,通過實機測試,能夠滿足船員摩爾斯碼離線語音識別學習訓練需求。

4 結論

基于語音識別技術的摩爾斯碼訓練系統研究,在Java編程技術基礎上對語音識別系統的功能實現、程序代碼進行了設計。同時基于語音識別完成了人機交互系統的設計,將摩爾斯碼訓練通過語音識別功能進行實現。結果表明,該系統能夠滿足船員摩爾斯碼訓練需求,其在系統的測試中展現出良好的識別率和識別速度,可用于船員摩爾斯碼日常學習訓練中。

猜你喜歡
摩爾船員波形
我國注冊船員超170萬
對《壓力容器波形膨脹節》2018版新標準的理解及分析
戰場上的雕塑家——亨利摩爾
闖海盜老巢接船員
基于LFM波形的靈巧干擾效能分析
西方摩爾研究概觀
基于ARM的任意波形電源設計
大連臺使用CTS-1記錄波形特點
論船員在海事污染中的刑事責任
亨利.摩爾
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合