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/mo/6-consumer/lessons/1-speech-recognition/pi-microphone.md

157 lines
6.5 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": "7e45d884493c5222348b43fbc4481b6a",
"translation_date": "2025-08-27T00:30:50+00:00",
"source_file": "6-consumer/lessons/1-speech-recognition/pi-microphone.md",
"language_code": "mo"
}
-->
# 配置您的麥克風和揚聲器 - Raspberry Pi
在本課程中,您將為您的 Raspberry Pi 添加麥克風和揚聲器。
## 硬體
Raspberry Pi 需要一個麥克風。
Pi 本身並未內建麥克風,因此您需要添加外接麥克風。有多種方式可以實現:
* USB 麥克風
* USB 耳機
* USB 一體式會議麥克風
* USB 音頻轉接器和帶 3.5mm 插孔的麥克風
* [ReSpeaker 2-Mics Pi HAT](https://www.seeedstudio.com/ReSpeaker-2-Mics-Pi-HAT.html)
> 💁 並非所有藍牙麥克風都能在 Raspberry Pi 上使用,因此如果您有藍牙麥克風或耳機,可能會遇到配對或錄音問題。
Raspberry Pi 配備了一個 3.5mm 耳機插孔。您可以使用它來連接耳機、耳麥或揚聲器。您也可以通過以下方式添加揚聲器:
* 通過顯示器或電視的 HDMI 音頻
* USB 揚聲器
* USB 耳機
* USB 一體式會議麥克風
* [ReSpeaker 2-Mics Pi HAT](https://www.seeedstudio.com/ReSpeaker-2-Mics-Pi-HAT.html),並通過 3.5mm 插孔或 JST 接口連接揚聲器
## 連接並配置麥克風和揚聲器
麥克風和揚聲器需要連接並進行配置。
### 任務 - 連接並配置麥克風
1. 使用適當的方法連接麥克風。例如,通過其中一個 USB 端口連接。
1. 如果您使用的是 ReSpeaker 2-Mics Pi HAT可以移除 Grove 基座帽,然後將 ReSpeaker 帽安裝到其位置。
![一個安裝了 ReSpeaker 帽的 Raspberry Pi](../../../../../translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.mo.png)
在本課程稍後您將需要一個 Grove 按鈕,但此帽已內建一個按鈕,因此不需要 Grove 基座帽。
安裝帽子後,您需要安裝一些驅動程式。請參考 [Seeed 的入門指南](https://wiki.seeedstudio.com/ReSpeaker_2_Mics_Pi_HAT_Raspberry/#getting-started) 以獲取驅動程式安裝指引。
> ⚠️ 指引中使用了 `git` 來克隆一個倉庫。如果您的 Pi 上未安裝 `git`,可以通過以下命令進行安裝:
>
> ```sh
> sudo apt install git --yes
> ```
1. 在 Pi 的終端中運行以下命令,或者通過 VS Code 和遠端 SSH 連線運行,以查看已連接的麥克風資訊:
```sh
arecord -l
```
您將看到已連接的麥克風列表。它可能類似於以下內容:
```output
pi@raspberrypi:~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: M0 [eMeet M0], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
```
假設您只有一個麥克風,您應該只看到一個條目。在 Linux 上配置麥克風可能會比較棘手,因此最好只使用一個麥克風並拔掉其他的。
記下卡號,稍後您將需要使用它。在上述輸出中,卡號為 1。
### 任務 - 連接並配置揚聲器
1. 使用適當的方法連接揚聲器。
1. 在 Pi 的終端中運行以下命令,或者通過 VS Code 和遠端 SSH 連線運行,以查看已連接的揚聲器資訊:
```sh
aplay -l
```
您將看到已連接的揚聲器列表。它可能類似於以下內容:
```output
pi@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: M0 [eMeet M0], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
```
您將始終看到 `card 0: Headphones`,因為這是內建的耳機插孔。如果您添加了額外的揚聲器,例如 USB 揚聲器,您也會看到它列出。
1. 如果您使用的是額外的揚聲器,而不是連接到內建耳機插孔的揚聲器或耳機,您需要將其配置為預設設備。為此,請運行以下命令:
```sh
sudo nano /usr/share/alsa/alsa.conf
```
這將在 `nano` 中打開一個配置檔案,`nano` 是一個基於終端的文字編輯器。使用鍵盤上的箭頭鍵向下滾動,直到找到以下行:
```output
defaults.pcm.card 0
```
將值從 `0` 更改為您希望使用的卡號,該卡號來自 `aplay -l` 命令的返回列表。例如,在上述輸出中,有一個名為 `card 1: M0 [eMeet M0], device 0: USB Audio [USB Audio]` 的第二個聲卡,使用卡號 1。要使用此卡我會將該行更新為
```output
defaults.pcm.card 1
```
將此值設置為適當的卡號。您可以使用鍵盤上的箭頭鍵導航到該數字,然後像編輯文字檔案一樣刪除並輸入新數字。
1.`Ctrl+x` 保存更改並關閉檔案。按 `y` 保存檔案,然後按 `return` 確認檔案名稱。
### 任務 - 測試麥克風和揚聲器
1. 運行以下命令以通過麥克風錄製 5 秒的音頻:
```sh
arecord --format=S16_LE --duration=5 --rate=16000 --file-type=wav out.wav
```
在此命令運行期間,對著麥克風發出聲音,例如說話、唱歌、節奏口技、演奏樂器或任何您喜歡的方式。
1. 5 秒後,錄音將停止。運行以下命令以播放音頻:
```sh
aplay --format=S16_LE --rate=16000 out.wav
```
您將聽到音頻通過揚聲器播放。根據需要調整揚聲器的輸出音量。
1. 如果需要調整內建麥克風端口的音量或麥克風的增益,可以使用 `alsamixer` 工具。您可以在 [Linux alsamixer 手冊頁](https://linux.die.net/man/1/alsamixer) 上了解更多關於此工具的資訊。
1. 如果播放音頻時出現錯誤,請檢查您在 `alsa.conf` 檔案中設置的 `defaults.pcm.card` 卡號是否正確。
---
**免責聲明**
本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤釋不承擔責任。