服務熱線
0755-88364040
一直夢想著智能語音識別芯片開發, 智能揚聲器互動
那么將語音命令功能集成到您的硬件產品中的最佳方式是什么?
基本上有兩種方法可以將語音激活功能添加到產品中:在設備上或基于云。 設備上語音激活意味著所有語音處理都在設備本身本地完成。
對于基于云的解決方案,大部分繁重的處理是在超高速計算機服務器上的云上執行??的。 但是,在我們研究將語音識別整合到您的產品中的兩種方法之前,您必須了解語音識別工作原理的基礎知識。 語音識別是如何工作的? 識別語音的第一步是實際識別正在說出的單個單詞。這通常在硬件中完成。
通過模數轉換器 (ADC) 將傳入的模擬語音轉換為數字數據。
然后對該信號進行處理以消除背景噪聲,并對其進行歸一化以考慮幅度變化。然后可以重新采樣以適應說話者說話的速率。 接下來是語音分析。 正常的語音只是由單個單詞組成的句子,這些單詞被沉默的時間分隔。每個句子與下一個句子之間有稍長的停頓。反過來,在一個簡單的層面上,每個單詞都是由音素和摩擦音的組合組成的。 音素就像一個基本的語音單位,例如“but”一詞中的“b”音,或“place”一詞中的“p”音。 擦音是一種不同的基本語音單位。擦音的例子包括“shut”中的“s”音,或“yes”中的“s”音。英語中有四十四個音素和九個擦音。
通過適當地分離這些語音片段,并匹配它們的序列和組合,可以通過字典查找來獲得一個非常好的但并不總是完美的正在說出的單詞的確定。 如果語音識別應用程序是簡單的單詞匹配,或者識別單個單詞的命令,那么以上就是所有需要的。如前所述,這可以通過微控制器在本地完成。 圖片包含 iPod, 電子產品 描述已自動生成 否則,下一個過程是句法分析。句法分析有助于提高單詞識別的準確性。
例如,考慮以下句子:“人是鳥”和“人是鳥”。語音分析無法確定第三個單詞是“is”還是“his”。在這種情況下,句法分析將立即能夠確定它應該是“是”,因為第二個句子中沒有動詞。 繼續上一段中的句子,很容易看出,雖然“人是鳥”這句話在句法上是正確的,但它根本沒有意義。確定句子是否有意義的過程稱為語義分析。 這有助于確定正在說出或請求的內容。在這種特殊情況下,智能語義分析器可能會確定正確的句子是:“這個人是個書呆子”。 最后,有時甚至語義分析也無法確定被解碼的確切句子。
考慮這兩個短語:“這絕對是 CMOS”和“這絕對是海苔”。 如果這是兩個電氣工程師之間的對話片段,那么第一句話可能是正確的。 另一方面,兩位海洋生物學家很可能指的是海苔,而不是 CMOS。 因此,在這些情況下,上下文線索對于正確確定非常重要。人工智能通常用于根據先前收集和分析的示例來學習說話者的講話風格。
設備上的語音命令
設備上的語音功能通常最適合具有簡單語音激活功能的產品和/或沒有互聯網連接的產品。
例如,如果您的產品需要響應簡單的單字命令,例如 go、stop、reset 等,那么在您的設備本身上本地執行所有操作是最有意義的。這通常稱為關鍵字發現。
可以通過低成本的嵌入式微控制器來實現相對簡單的語音命令功能,而不需要更快、更復雜的微處理器的速度和開銷。
從硬件設計的角度來看,添加簡單的語音命令并不是很復雜,大部分的開發工作都將在軟件方面進行。
一種軟件變通方法來自一家名為 Sensory 的公司,該公司提供了一個名為 Truly Handsfree 的嵌入式語音識別引擎,它的詞匯量很小。它可以在 ARM Cortex-M4 微控制器上運行。
ARM 還發布了一個開源庫,用于在 Cortex-M 微控制器上運行的關鍵字識別應用程序。
另一個軟件選項來自一家名為 Snips 的公司。他們提供了一個完整的語音識別平臺,稱為 Snips Flow,可以在 Linux 或 Android 操作系統上運行。 Snips Flow 正在推動在非常小的設備上使用 AI 的界限。它們提供了一個不錯的用戶界面,可讓您自定義語音助手。
他們還提供了一種名為 Snips Commands 的語音命令解決方案,可在 Cortex-M4 微控制器上運行。
Snips 認為,您無需連接到云端即可開始喝咖啡或調低恒溫器。相反,公司或企業家可以創建獨特的語音工具,專門在他們的設備上運行。
Snips 是一種無需依賴科技巨頭 Google 或 Amazon 即可為您的產品添加高級語音激活功能的方法。
對于完整的語音識別,語音分析階段之后的附加階段并不是由資源有限的微控制器輕松執行的。
然而,盡管簡單的獨立、基于微控制器的語音識別存在局限性,但一些復雜且看似智能的語音識別應用程序仍然可以由獨立微控制器實現,尤其是具有適當大內存大小的 32 位 STM 之類的。
例如,考慮一個自動銀行應用程序。用戶可能會要求:
“你能告訴我美元兌歐元的匯率嗎?”,或者
“美元對歐元的匯率是多少?”,或
“今天美元兌歐元的匯率是多少?”
完整的語音識別系統將嘗試全面分析這些請求,然后得出用戶只想知道美元兌歐元匯率的結論。 然而,一個簡單的單詞識別可以識別出“dollar”、“euro”和“exchange”這些詞,應該能夠確定用戶在銀行應用程序的上下文中要問什么。 在這種情況下,問題的具體提出方式無關緊要,微控制器的工作與成熟的語音識別一樣好。 由于不需要將請求發送到某個遠程服務器,因此響應也可能會更快。 與基于云的解決方案相比,設備上語音識別的主要優勢在于不需要互聯網連接,您可以獲得更快的響應,并且由于您的所有語音數據都保留在本地,因此提供了更高級別的隱私和安全性。
對于只需要簡單單詞命令的產品,在設備上進行所有語音識別幾乎總是更容易且更簡單。 基于云的語音識別 目前,Google Assistant 和 Amazon Alexa 是兩個主要的基于云的解決方案。但 Alexa 目前可用于更多產品,而且速度并沒有放緩。那你怎么選? ShadeCraft 的首席執行官 Armen Gharabegian 表示,他們選擇 Alexa 而不是谷歌語音來開發他們的語音控制花園雨傘,因為“它更容易集成”。
結論 語音識別終于成為了主流,而且發展勢頭迅猛。 越來越多的公司將語音功能整合到他們的產品中。 對于簡單的產品或沒有互聯網連接的產品,您最好的選擇是實施簡單的語音命令,所有處理都在設備上本地完成。 更高性能的微控制器通??梢酝ㄟ^語音分析階段執行語音分析。 需要完整語音識別的復雜產品通常需要基于云的解決方案。 基于云的語音識別系統將執行復雜語音識別功能所需的句法和語義分析。 基于云的解決方案通常需要高性能微處理器或數字信號處理器 (DSP) 來在本地執行必要的預處理步驟。