You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/tw/6-consumer/lessons/1-speech-recognition/README.md

233 lines
17 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "6d6aa1be033625d201a190fc9c5cbfb4",
"translation_date": "2025-08-25T00:19:09+00:00",
"source_file": "6-consumer/lessons/1-speech-recognition/README.md",
"language_code": "tw"
}
-->
# 使用物聯網設備進行語音識別
![本課程的手繪筆記概述](../../../../../translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.tw.jpg)
> 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。
這段影片概述了 Azure 語音服務,這是本課程將涵蓋的主題:
[![如何開始使用 Microsoft Azure YouTube 頻道上的 Cognitive Services Speech 資源](https://img.youtube.com/vi/iW0Fw0l3mrA/0.jpg)](https://www.youtube.com/watch?v=iW0Fw0l3mrA)
> 🎥 點擊上方圖片觀看影片
## 課前測驗
[課前測驗](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/41)
## 簡介
「Alexa設置一個12分鐘的計時器」
「Alexa計時器狀態」
「Alexa設置一個8分鐘的計時器命名為蒸西蘭花」
智慧設備越來越普及。不僅僅是像 HomePods、Echos 和 Google Homes 這樣的智慧音箱,還嵌入到我們的手機、手錶,甚至燈具和恆溫器中。
> 💁 我家裡至少有19個具有語音助手功能的設備這還只是我知道的
語音控制提高了可及性,讓行動受限的人能夠與設備互動。無論是天生缺乏手臂的永久性障礙,還是像手臂骨折這樣的暫時性障礙,或者手上拿著購物袋或照顧小孩,能夠用語音而非雙手控制家居設備,開啟了一個全新的便利世界。比如在處理嬰兒換尿布和調皮的幼兒時,喊一聲「嘿 Siri關閉我的車庫門」可能是一個小但有效的生活改善。
語音助手的一個流行用途是設置計時器,尤其是廚房計時器。能夠用語音設置多個計時器在廚房中非常有幫助——不需要停下揉麵團、攪拌湯或清理手上的餃子餡料來使用實體計時器。
在本課程中,您將學習如何在物聯網設備中構建語音識別功能。您將了解麥克風作為感測器的工作原理,如何從連接到物聯網設備的麥克風捕捉音頻,以及如何使用人工智慧將聽到的內容轉換為文字。在整個專案中,您將構建一個智慧廚房計時器,能夠使用多種語言通過語音設置計時器。
在本課程中,我們將涵蓋:
* [麥克風](../../../../../6-consumer/lessons/1-speech-recognition)
* [從物聯網設備捕捉音頻](../../../../../6-consumer/lessons/1-speech-recognition)
* [語音轉文字](../../../../../6-consumer/lessons/1-speech-recognition)
* [將語音轉換為文字](../../../../../6-consumer/lessons/1-speech-recognition)
## 麥克風
麥克風是一種類比感測器,將聲波轉換為電信號。空氣中的振動使麥克風內部的元件微小移動,從而引起電信號的微小變化。這些變化隨後被放大以生成電輸出。
### 麥克風類型
麥克風有多種類型:
* 動圈式 - 動圈式麥克風具有一個附著在移動振膜上的磁鐵,該磁鐵在線圈中移動時會產生電流。這與大多數揚聲器相反,揚聲器使用電流移動線圈中的磁鐵,從而移動振膜以產生聲音。這意味著揚聲器可以用作動圈式麥克風,而動圈式麥克風也可以用作揚聲器。在像對講機這樣的設備中,使用者要麼在聽,要麼在說,但不會同時進行,一個設備可以同時充當揚聲器和麥克風。
動圈式麥克風不需要電源即可工作,電信號完全由麥克風生成。
![Patti Smith 使用 Shure SM58動圈心型麥克風演唱](../../../../../translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.tw.jpg)
* 緞帶式 - 緞帶式麥克風類似於動圈式麥克風,但它使用金屬緞帶代替振膜。該緞帶在磁場中移動時會產生電流。與動圈式麥克風一樣,緞帶式麥克風不需要電源即可工作。
![美國演員 Edmund Lowe 站在標有 (NBC) Blue Network 的廣播麥克風前手持劇本1942年](../../../../../translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.tw.jpg)
* 電容式 - 電容式麥克風具有一個薄金屬振膜和一個固定的金屬背板。電流被施加到這兩者上,當振膜振動時,板之間的靜電荷發生變化,從而產生信號。電容式麥克風需要電源才能工作,稱為 *幻象電源*
![AKG Acoustics 的 C451B 小振膜電容式麥克風](../../../../../translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.tw.jpg)
* MEMS - 微機電系統麥克風,或 MEMS是芯片上的麥克風。它們在矽芯片上刻有壓力敏感振膜工作原理類似於電容式麥克風。這些麥克風可以非常小並集成到電路中。
![電路板上的 MEMS 麥克風](../../../../../translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.tw.png)
在上圖中,標記為 **LEFT** 的芯片是一個 MEMS 麥克風,其振膜寬度不到一毫米。
✅ 做些研究:您周圍有哪些麥克風——無論是在您的電腦、手機、耳機還是其他設備中。它們屬於哪種類型的麥克風?
### 數位音頻
音頻是一種類比信號,攜帶非常細緻的信息。要將此信號轉換為數位信號,需要每秒對音頻進行數千次取樣。
> 🎓 取樣是將音頻信號轉換為數位值,該值表示該時刻的信號。
![顯示信號的折線圖,具有固定間隔的離散點](../../../../../translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.tw.png)
數位音頻使用脈衝編碼調變Pulse Code ModulationPCM進行取樣。PCM 涉及讀取信號的電壓,並使用定義的大小選擇最接近該電壓的離散值。
> 💁 您可以將 PCM 視為脈衝寬度調變Pulse Width ModulationPWM的感測器版本PWM 在[入門專案的第3課](../../../1-getting-started/lessons/3-sensors-and-actuators/README.md#pulse-width-modulation)中已介紹。PCM 涉及將類比信號轉換為數位信號,而 PWM 涉及將數位信號轉換為類比信號。
例如大多數串流音樂服務提供16位或24位音頻。這意味著它們將電壓轉換為適合16位整數或24位整數的值。16位音頻的值範圍為 -32,768 到 32,76724位音頻的範圍為 8,388,608 到 8,388,607。位數越多取樣越接近我們耳朵實際聽到的聲音。
> 💁 您可能聽說過8位音頻通常稱為 LoFi。這是使用僅8位進行取樣的音頻因此範圍為 -128 到 127。由於硬體限制第一代電腦音頻僅限於8位因此這通常出現在復古遊戲中。
這些取樣每秒進行數千次,使用以 KHz每秒數千次讀取為單位的定義取樣率。串流音樂服務大多使用48KHz但某些「無損」音頻使用高達96KHz甚至192KHz。取樣率越高音頻越接近原始聲音但有一定的限制。人類是否能分辨出超過48KHz的差異仍有爭議。
✅ 做些研究:如果您使用串流音樂服務,它使用的取樣率和大小是多少?如果您使用 CDCD 音頻的取樣率和大小是多少?
音頻數據有多種格式。您可能聽說過 mp3 文件——壓縮的音頻數據,能在不損失任何質量的情況下減小文件大小。未壓縮的音頻通常存儲為 WAV 文件——這是一個包含44字節標頭信息的文件後面是原始音頻數據。標頭包含取樣率例如16KHz的16000和取樣大小例如16位以及通道數量。在標頭之後WAV 文件包含原始音頻數據。
> 🎓 通道指的是音頻由多少個不同的音頻流組成。例如立體聲音頻有左右兩個通道因此有2個通道。家庭影院系統的7.1環繞聲音頻則有8個通道。
### 音頻數據大小
音頻數據相對較大。例如捕捉未壓縮的16位音頻取樣率為16KHz對語音轉文字模型來說足夠每秒需要32KB的數據
* 16位表示每個取樣需要2字節1字節為8位
* 16KHz表示每秒16,000次取樣。
* 16,000 x 2字節 = 32,000字節每秒。
這看起來數據量不大但如果您使用的是內存有限的微控制器這可能會佔用大量空間。例如Wio Terminal 只有192KB的內存這需要存儲程式碼和變數。即使您的程式碼非常小也無法捕捉超過5秒的音頻。
微控制器可以訪問額外的存儲,例如 SD 卡或快閃記憶體。在構建捕捉音頻的物聯網設備時,您需要確保不僅有額外的存儲,還需要讓程式碼將從麥克風捕捉的音頻直接寫入存儲,並在將其發送到雲端時,從存儲流式傳輸到網路請求。這樣可以避免試圖一次性在內存中保存整塊音頻數據而導致內存不足。
## 從物聯網設備捕捉音頻
您的物聯網設備可以連接到麥克風以捕捉音頻,準備轉換為文字。它也可以連接到揚聲器以輸出音頻。在後續課程中,這將用於提供音頻反饋,但現在設置揚聲器以測試麥克風是有用的。
### 任務 - 配置您的麥克風和揚聲器
按照相關指南配置物聯網設備的麥克風和揚聲器:
* [Arduino - Wio Terminal](wio-terminal-microphone.md)
* [單板電腦 - Raspberry Pi](pi-microphone.md)
* [單板電腦 - 虛擬設備](virtual-device-microphone.md)
### 任務 - 捕捉音頻
按照相關指南在您的物聯網設備上捕捉音頻:
* [Arduino - Wio Terminal](wio-terminal-audio.md)
* [單板電腦 - Raspberry Pi](pi-audio.md)
* [單板電腦 - 虛擬設備](virtual-device-audio.md)
## 語音轉文字
語音轉文字或語音識別,涉及使用人工智慧將音頻信號中的單詞轉換為文字。
### 語音識別模型
要將語音轉換為文字音頻信號中的取樣會被分組並輸入到基於循環神經網路RNN的機器學習模型中。這是一種機器學習模型可以使用先前的數據來對接收到的數據進行決策。例如RNN 可以將一塊音頻取樣識別為「Hel」的聲音當它接收到另一塊音頻取樣並認為是「lo」的聲音時可以將其與之前的聲音結合發現「Hello」是一個有效的單詞並選擇它作為結果。
機器學習模型始終接受固定大小的數據進行處理。您在之前課程中構建的圖像分類器會將圖像調整為固定大小並進行處理。語音模型也是如此它們必須處理固定大小的音頻塊。語音模型需要能夠結合多次預測的輸出以獲得答案從而能夠區分「Hi」和「Highway」或「flock」和「floccinaucinihilipilification」。
語音模型也足夠先進可以理解上下文並在處理更多聲音時修正它們檢測到的單詞。例如如果您說「我去商店買了兩根香蕉和一個蘋果」您會使用三個發音相同但拼寫不同的單詞——to、two 和 too。語音模型能夠理解上下文並使用正確的單詞拼寫。
💁 某些語音服務允許進行自訂,以便在像工廠這樣嘈雜的環境中更好地運作,或者處理像化學名稱這樣的行業專用詞彙。這些自訂是透過提供樣本音頻和文字轉錄來訓練的,並使用遷移學習的方式運作,就像您在之前的課程中僅使用少量圖片訓練影像分類器的方式一樣。
### 隱私
在使用消費型物聯網設備進行語音轉文字時,隱私至關重要。這些設備會持續聆聽音頻,因此作為消費者,你不希望自己說的每一句話都被傳送到雲端並轉換成文字。這不僅會消耗大量的網絡頻寬,還會帶來巨大的隱私問題,尤其是某些智能設備製造商可能隨機選擇音頻供[人工驗證生成的文字以改進模型](https://www.theverge.com/2019/4/10/18305378/amazon-alexa-ai-voice-assistant-annotation-listen-private-recordings)。
你只希望智能設備在你使用它時才將音頻傳送到雲端進行處理,而不是在它聽到家中的音頻時,這些音頻可能包括私人會議或親密互動。大多數智能設備的工作方式是通過*喚醒詞*例如「Alexa」、「Hey Siri」或「OK Google」等關鍵短語使設備「喚醒」並聆聽你說的話直到它檢測到你的語音中斷表示你已完成與設備的對話。
> 🎓 喚醒詞檢測也被稱為*關鍵詞檢測*或*關鍵詞識別*。
這些喚醒詞是在設備上檢測的,而不是在雲端。這些智能設備內置了小型的 AI 模型,這些模型在設備上運行,用於聆聽喚醒詞,當檢測到喚醒詞時,開始將音頻流傳送到雲端進行識別。這些模型非常專業化,只負責聆聽喚醒詞。
> 💁 一些科技公司正在為其設備增加更多的隱私功能,並在設備上進行部分語音轉文字的轉換。蘋果公司宣布,作為其 2021 年 iOS 和 macOS 更新的一部分,他們將支持在設備上進行語音轉文字轉換,並能夠處理許多請求而無需使用雲端。這得益於其設備中強大的處理器,可以運行機器學習模型。
✅ 你認為將音頻傳送到雲端存儲會帶來哪些隱私和倫理問題?這些音頻應該被存儲嗎?如果存儲,應該如何存儲?你認為將錄音用於執法是否是一個值得的隱私交換?
喚醒詞檢測通常使用一種稱為 TinyML 的技術,即將機器學習模型轉換為能夠在微控制器上運行的形式。這些模型體積小,運行時消耗的功率非常低。
為了避免訓練和使用喚醒詞模型的複雜性,你在本課程中構建的智能計時器將使用按鈕來啟動語音識別。
> 💁 如果你想嘗試創建一個喚醒詞檢測模型以在 Wio Terminal 或 Raspberry Pi 上運行,可以查看這篇 [Edge Impulse 的語音響應教程](https://docs.edgeimpulse.com/docs/responding-to-your-voice)。如果你想使用電腦來完成此操作,可以試試 [Microsoft Docs 上的自定義關鍵詞快速入門](https://docs.microsoft.com/azure/cognitive-services/speech-service/keyword-recognition-overview?WT.mc_id=academic-17441-jabenn)。
## 語音轉文字
![語音服務標誌](../../../../../translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.tw.png)
就像之前的影像分類項目一樣,有一些預建的 AI 服務可以將音頻文件轉換為文字。其中一項服務是語音服務,它是認知服務的一部分,這些預建的 AI 服務可以在你的應用中使用。
### 任務 - 配置語音 AI 資源
1. 為此項目創建一個名為 `smart-timer` 的資源群組。
1. 使用以下命令創建一個免費的語音資源:
```sh
az cognitiveservices account create --name smart-timer \
--resource-group smart-timer \
--kind SpeechServices \
--sku F0 \
--yes \
--location <location>
```
`<location>` 替換為創建資源群組時使用的位置。
1. 你需要一個 API 金鑰來從代碼中訪問語音資源。運行以下命令以獲取金鑰:
```sh
az cognitiveservices account keys list --name smart-timer \
--resource-group smart-timer \
--output table
```
複製其中一個金鑰。
### 任務 - 語音轉文字
按照相關指南在你的物聯網設備上進行語音轉文字:
* [Arduino - Wio Terminal](wio-terminal-speech-to-text.md)
* [單板電腦 - Raspberry Pi](pi-speech-to-text.md)
* [單板電腦 - 虛擬設備](virtual-device-speech-to-text.md)
---
## 🚀 挑戰
語音識別技術已存在很長時間,並且在不斷改進。研究目前的技術能力,並比較其隨時間的演變,包括機器轉錄的準確性與人工相比如何。
你認為語音識別的未來會是什麼樣子?
## 課後測驗
[課後測驗](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/42)
## 回顧與自學
* 閱讀不同類型的麥克風及其工作原理,參考 [Musician's HQ 上的動圈麥克風與電容麥克風的區別文章](https://musicianshq.com/whats-the-difference-between-dynamic-and-condenser-microphones/)。
* 閱讀更多關於 Microsoft Docs 上的認知服務語音服務的[語音服務文檔](https://docs.microsoft.com/azure/cognitive-services/speech-service/?WT.mc_id=academic-17441-jabenn)。
* 閱讀 Microsoft Docs 上的[關鍵詞檢測文檔](https://docs.microsoft.com/azure/cognitive-services/speech-service/keyword-recognition-overview?WT.mc_id=academic-17441-jabenn)。
## 作業
[](assignment.md)
**免責聲明**
本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。