具身智能是一種將智能與物理實體深度融合的人工智能形態,強調智能行為既依賴智能體自身算力,更離不開其與環境的感知交互。在具身智能體與人類交互方面,自然語言是極為直觀且高效的溝通方式。
大語言模型(LLM)憑借卓越的自然語言理解、生成與推理能力,與具身智能結合,人類可經語音智能體發出指令、提出問題或者表達需求,LLM 能處理理解語言信息并生成回復,還可以將用戶指令解析為具體動作或任務目標,助力具身智能體精準把握人類意圖并協同工作。
我們利用 MATLAB 開發了一個簡易智能助手,實現了基于語音的人機交互。下面的視頻將展示該語音助手如何被喚醒,以及它如何應答用戶提問和接收指令以操控電機開關。
系統概況
下圖展示了該智能助手簡要的工作流程:它通過監聽環境并檢測觸發詞來被喚醒,之后調用語音轉文本模型將用戶語音轉化為文本,通過文本判斷是否為用戶指令:若為指令,則將其轉化為控制信息發送至硬件執行;若非指令,則調用LLM生成相應的回復;最后,通過文本轉語音模型將回復文本轉化為語音并播放。
本文將展示如何在 MATLAB 中構建這樣一個語音助手,以及 MATLAB 在智能應用快速原型方面的如下能力:
用戶界面設計與實現
語音信號采集與處理
Python 模型集成
大語言模型支持
硬件控制與代碼部署
用戶界面設計與實現
MATLAB 提供一個用于設計和編程 App 的交互式開發環境 App Designer,可以用來設計智能助手的用戶界面。App Designer 內置完整的 MATLAB 編輯器和豐富的交互式 UI 組件,支持通過網格布局管理界面,并可自動適應屏幕尺寸變化。用戶可直接在工具欄將 App 打包為安裝文件分發,或借助 MATLAB Compiler 創建獨立桌面或 Web App。
可參考如下網頁快速入門 App Designer:
使用 App 設計工具開發 App:https://ww2.mathworks.cn/help/matlab/app-designer.html
語音采集與處理
除了基本的 Signal Processing Toolbox,MATLAB 還專門為音頻、語音和聲學信號的處理與分析提供了Audio Toolbox,這也為我們智能助手的語音采集和處理提供了便利。Audio Toolbox 提供豐富的算法,可用于音頻信號處理、聲學指標估算、音頻數據集標注與增強,以及音頻特征提取。
可訪問如下網頁學習如何在 MATLAB 中通過 Audio Toolbox 采集、分析及處理語音信號:
Audio Toolbox:https://ww2.mathworks.cn/help/audio/index.html
結合上一步,如需在用戶界面上實現音頻文件的波形顯示與播放,可參考如下示例:
創建音頻播放與可視化應用:*https://ww2.mathworks.cn/help/audio/ug/create-an-app-to-play-and-visualize-audio-files.html *
在智能助手應用中,觸發詞檢測、語音轉文本和文本轉語音這三個模塊都是基于Audio Toolbox 網頁上提供的 “AI for Audio” 相關參考示例和函數來實現的。MATLAB 提供了Statistics and Machine Learning Toolbox 和 Deep Learning Toolbox 來支持 AI 方面的應用。其中,觸發詞檢測主要是通過訓練一個深度學習網絡來完成。可在 MathWorks 官網上搜索以下示例,學習如何在 MATLAB 中對音頻信號打標簽,如何設計與訓練一個用于觸發詞檢測的深度學習網絡,以及如何裁剪及量化 神經網絡并把它部署到樹莓派中。
對于語音與文本的相互轉換,需在 MATLAB 工具欄的“Add-Ons”下點擊“Get Add-Ons”,搜索并安裝“Audio Toolbox Interface for SpeechBrain and Torchaudio Libraries”。也可訪問如下網頁直接下載安裝,并查看其使用文檔及相關示例:
Audio Toolbox Interface for SpeechBrain and Torchaudio Libraries:https://ww2.mathworks.cn/matlabcentral/fileexchange/160371-audio-toolbox-interface-for-speechbrain-and-torchaudio-libraries
該插件可自動安裝 Python 和 PyTorch,并下載 SpeechBrain 和 Torchaudio 庫中的深度學習模型,從而為 Audio Toolbox 提供了基于 AI 的語音識別(ASR)和語音合成功能,使得MATLAB 用戶無需深度學習經驗即可直接使用前沿的 AI 語音模型。
用戶可通過 speechClient 對象,調用speech2text和text2speech函數,選用本地模型或者Google、IBM、Microsoft、Amazon 等云服務,分別實現語音轉文本(STT)(或自動語音識別(ASR))和文本轉語音(TTS)(或語音合成)功能。對于中文,可選擇whisper 模型實現語音轉文本,注意這時需單獨下載模型權重。
Python 模型集成
在文本轉語音模塊中,text2speech 函數使用的是 HiFi-GAN/Tacotron2 預訓練模型,無法合成超過約 10 秒的語音信號。因此,可在 MATLAB 中配置 Python 環境,安裝和調用其他預訓練好的 Python 模型。具體操作可參考:
從 MATLAB 中調用 Python:https://ww2.mathworks.cn/help/matlab/call-python-libraries.html
在智能助手的示例中,我們選用的是pyttsx3,一個可直接調用多種操作系統的 TTS,支持在離線狀態下實現文本轉語音并播放功能的Python 庫。
在 MATLAB 命令行,可使用如下命令安裝pyttsx3庫:
然后,通過如下函數初始化一個基于pyttsx3的TTS引擎并設置其參數:
之后,就可利用* engine.say()* 函數傳入需要合成并播放的文本,使用*engine.runAndWait() *函數等待朗讀任務的完成。
大語言模型支持
在我們的智能助手項目中,大語言模型被用來回答用戶的提問。為此,需要在附加功能資源瀏覽器中搜索并安裝 “Large Language Models (LLM) with MATLAB” ,或訪問如下網頁直接下載并安裝:
Large Language Models (LLMs) with MATLAB:https://ww2.mathworks.cn/matlabcentral/fileexchange/163796-large-language-models-llms-with-matlab
這個Add-on可以幫助用戶通過 MATLAB 連接或者調用各種大語言模型。目前支持 OpenAI Chat Completions API 和 OpenAI Images API 等,還支持調用 Ollama 部署的本地大模型。可參考之前發布的微信文章《如何運行本地 DeepSeek 模型并在 MATLAB 中使用?》了解更多。
硬件控制和代碼部署
與硬件設備進行交互是具身智能的一大特色,在這個智能助手項目中,用戶可以通過指令控制電機啟動和關閉。MATLAB 和 Simulink 可以直接與一些硬件鏈接并進行實時數據流傳輸,還能支持將算法和模型自動生成 C/C++、HDL 或 PLC 代碼等,部署到嵌入式系統中,如機器人控制器、無人車的車載計算機等,實現具身智能系統的實際運行。
可在如下網頁中找到更詳細的信息:
MATLAB 的硬件支持:https://ww2.mathworks.cn/hardware-support/home.html
為了演示智能助手對電機的控制,我們基于如下 MATLAB 隨軟件附帶的示例做了簡單修改:
使用基于 STM32 處理器的板子實現對三相交流電機的開環控制:https://ww2.mathworks.cn/help/ecoder/stmicroelectronicsstm32f4discovery/ug/Openn-Loop-Control-Example.html
原始示例是通過板卡上的按鍵打開或者關閉電機運行,我們將“Communication” 下的“Start and Stop Motor” 模塊修改成通過 USART2 串口接收信號控制電機啟動與停止(如下圖所示)。所以,當智能助手檢測到電機控制指令時,只需要在串口發送該指令所相對應的數字即可。
記得在 MATLAB 電機控制命令發送函數中使用與 STM32 USART2 端口配置中相同的波特率與字長。
總結
目前,我們僅使用 MATLAB 將具身智能與大語言模型(LLM)結合,在人機交互方面進行了初步探索,未來將繼續探索能否直接使用多模態模型直接解析用戶需求來實現具身智能的人機交互。
除了人機交互, MATLAB 在具身智能的建模與仿真、感知與數據處理、決策與控制、學習與訓練、測試與評估、嵌入式部署及代碼生成等眾多領域,均是功能強大的工具。歡迎感興趣的小伙伴們和我們一同進行探索與研究!
-
人機交互
+關注
關注
12文章
1243瀏覽量
56326 -
matlab
+關注
關注
189文章
3000瀏覽量
233677 -
智能助手
+關注
關注
0文章
24瀏覽量
3110 -
具身智能
+關注
關注
0文章
132瀏覽量
433
原文標題:大語言模型(LLM) 賦能具身智能中的人機交互
文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
【 平頭哥CB5654語音開發板試用連載】智能聲控語音助手
如何在matlab中實現Virtual Reality 技術
語音助手成智能電視標配 真的會用了就離不開語音助手嗎?
用語音助手打電話訂餐廳
如何在MATLAB中開發基于像素的視頻和圖像處理算法

評論