有人說,設備不能做人類能做的所有事情。然而,我們在日常生活中使用的設備在過去幾十年中一直在發展。我們已經看到它們在功能、連接性和大小方面發生了重大變化。然而,最大的挑戰之一是設備的尺寸,因為人們正在努力實現更小的外形尺寸。
幾年前,出現了一個新的挑戰:該設備無法像人類一樣進行交流。這導致獨立設備轉變為具有附加語音功能的連接設備。
語音設備如何幫助人類?
最初,需要人工觸摸才能在設備上執行任何操作。現在,借助支持語音的設備和物聯網技術,人類可以通過語音發出命令來操作設備。這些新發明的設備將人聲轉換為設備動作,通過互聯網向另一臺設備發送命令,并執行所需的動作。這些設備不僅可以與人類交互,還可以通過互聯網與其他設備交互。
語音設備測試的主要挑戰
全球語音設備的日常使用量正在迅速增加。擁有 500 多個國家/地區支持 1000 多種具有不同口音、性別和基于年齡組的語音調制的語言,這使得驗證支持語音的設備具有挑戰性。在短時間內用如此多的不同組合和排列來測試這些設備幾乎是不可能的。那么,讓我們看看如何自動化語音設備的測試。
自動化語音設備測試
為避免手動測試工作,我們需要設計一種自動化解決方案,可用于使用不同語言測試這些設備。最簡單的選擇是使用可以幫助開發具有此類語音集成設備的自動化腳本的框架。
截至目前,市場上還沒有提供測試與語音設備集成所需的所有功能的開源框架。這里的挑戰是如何以不同的語言向設備發出命令,如何讀取設備的響應,以及測試預期的輸出。
要在不手動操作的情況下向設備發出命令,需要以文本格式識別命令。將文本轉換為音頻格式。
播放音頻,以便啟用語音的設備可以收聽和處理。
等待設備的響應,將其記錄在音頻文件中,作為最后一步,您需要將此音頻轉換為文本以匹配預期的格式。
每個設備測試程序都會有定制要求;因此,框架必須是模塊化的。為了獲得解決方案,我們需要設計一個模塊化和可擴展的框架,其中該解決方案的每一步都可以由市場上可用的開源或付費庫來實現。
我們在以下框架中設計了4個模塊:
多語言文本:將文本從一種語言轉換為另一種語言
文本音頻模塊:將文本轉換為 mp3
音頻-文本模塊:將 wav 轉換為文本
音頻模塊:
使用音頻輸出設備播放 mp3 文件
使用麥克風讀取音頻數據
將音頻數據保存到 wav 文件
詳細解決方案
1.準備英文設備命令
a.使用多語言文本模塊將設備命令轉換為設備可以理解的語言。它使用谷歌提供的翻譯服務,您可以將文本從任何源語言翻譯成任何所需的語言。
2.為翻譯文本創建音頻文件
a.使用文本音頻模塊將文本轉換為音頻。生成的音頻可以在音頻輸出設備上播放。該模塊在后端使用 Google 文本轉語音服務。
3.播放音頻
a.使用音頻模塊將 mp3 文件播放到音頻輸出設備。
b.此步驟需要音頻輸出設備和啟用語音的設備靠近,以便在播放音頻時,設備可以捕獲音頻并處理命令。
4.錄制音頻
a.此步驟是捕獲來自啟用語音的設備的響應所必需的。
b.使用音頻模塊從麥克風捕獲錄音數據。您需要傳遞持續時間參數以提及您想要錄制多長時間,并且模塊返回音頻樣本數據
c.一旦樣本數據可用,需要將其保存為 wav(音頻)文件。為此,可以使用save_audio_to_file方法。此方法獲取樣本音頻數據并將其寫入 wav 文件,該文件稍后可以使用音頻設備播放,也可用于將其轉換為文本。
5.將捕獲的音頻轉換為文本
a.使用 Text-Audio 模塊將 wav 文件轉換為文本內容。這是使用語音識別器實現的。您應該指定輸入 wav 文件和音頻內容語言。
b.要將音頻轉換為文本,可以使用各個供應商提供的第三方庫。
6.將以上文本翻譯成英文,并根據預期的英文結果進行驗證
使用以上4個模塊,一次就可以實現基于語音的集成設備的語音自動化。
家庭自動化產品端到端測試的真實場景
家庭自動化系統由可以使用 REST 服務通過 Web 操作的各種設備組成。安全攝像頭、燈、恒溫器、傳感器和門鈴是家庭自動化設備的幾個例子。例如,作為房主的最終用戶可以使用互聯網門戶遠程打開或關閉燈。一些系統提供與 Alexa、Google 等第三方合作伙伴的集成。
閱讀:案例研究 - 用于家庭自動化中心的 Alexa 集成
公司提供可以聆聽人聲并執行用戶請求的操作的設備。因此,考慮到燈光作為家庭自動化產品,而 Alexa 作為家庭自動化系統提供商的第三方合作伙伴,我們想測試是否可以通過 Alexa 打開/關閉燈光。
為了自動化 E2E 場景,我們需要使用上面討論的自動化框架執行以下步驟。
1.準備Alexa命令以英語打開燈。
a.“Alexa,打開燈”
2.上面的命令轉換成mp3文件
3.使用連接到自動化機器的揚聲器在 Alexa 設備附近播放 mp3 文件。
4.將來自Alexa的響應記錄在wav文件中。
5.將音頻文件轉換為“Ok. 打開燈”或“燈已打開”。
6.用預期的結果集驗證轉換后的文本。
7.在驗證中,只需提前一步,我們還可以使用以下方法驗證實際的物聯網燈狀態:
a.REST API 可用于從家庭安全系統獲取燈光狀態
b.可以對網絡安全門戶進行網絡自動化以驗證燈狀態
c.如果燈的狀態正在存儲在云數據庫中,我們可以從數據庫中獲取數據來驗證狀態
結論
通過以上步驟,不僅可以只用一臺語音設備測試系統集成或端到端測試,還可以結合多個客戶端或設備進行系統測試。用戶可以使用 Alexa 在其中一個設備/產品上執行操作,并使用 Google 或 Portal 驗證其狀態,反之亦然。例如,用戶要求谷歌打開燈,然后使用 Alexa/客戶門戶獲取燈狀態。
eInfochips 是需要從設備到應用程序進行全面測試覆蓋的產品公司的首選合作伙伴。eInfochips 通過測試自動化、SDET(測試中的軟件開發工程師)、左移測試和 DevOps 節省了大量的成本和精力。
作者:Dhaval Patel ,Keyur Shah
審核編輯:郭婷
-
傳感器
+關注
關注
2554文章
51577瀏覽量
757760 -
物聯網
+關注
關注
2914文章
45058瀏覽量
378507 -
數據庫
+關注
關注
7文章
3860瀏覽量
64841
發布評論請先 登錄
相關推薦
網絡語音控制器是什么設備
NFPA-99醫療設施規范指南(四):確保醫療設備安全的關鍵測試

智能語音的驅動力:揭秘8腳語音芯片在智能設備中的非凡角色
電池負載測試:綜合指南

評論