配置你的麥克風和揚聲器 - 樹莓派
在本課程的這一部分,你將為你的樹莓派添加麥克風和揚聲器。
硬體
樹莓派需要一個麥克風。
樹莓派沒有內建麥克風,你需要添加一個外部麥克風。有多種方法可以做到這一點:
- USB 麥克風
- USB 耳機
- USB 一體化揚聲器
- USB 音頻轉接器和帶 3.5mm 插孔的麥克風
- ReSpeaker 2-Mics Pi HAT
💁 藍牙麥克風並非全部都支援樹莓派,因此如果你有藍牙麥克風或耳機,可能會遇到配對或捕捉音頻的問題。
樹莓派配有 3.5mm 耳機插孔。你可以用它來連接耳機、耳麥或揚聲器。你也可以使用以下方法添加揚聲器:
- 通過顯示器或電視的 HDMI 音頻
- USB 揚聲器
- USB 耳機
- USB 一體化揚聲器
- ReSpeaker 2-Mics Pi HAT 並連接揚聲器,可以通過 3.5mm 插孔或 JST 端口
連接和配置麥克風和揚聲器
麥克風和揚聲器需要連接並配置。
任務 - 連接和配置麥克風
-
使用適當的方法連接麥克風。例如,通過其中一個 USB 端口連接。
-
如果你使用的是 ReSpeaker 2-Mics Pi HAT,你可以移除 Grove 基座帽,然後將 ReSpeaker 帽安裝到位。
你在本課程的後面部分會需要一個 Grove 按鈕,但這個帽子內建了一個,所以不需要 Grove 基座帽。
安裝好帽子後,你需要安裝一些驅動程式。請參考 Seeed 入門指南 進行驅動程式安裝。
⚠️ 指南中使用
git
來克隆一個倉庫。如果你的樹莓派上沒有安裝git
,你可以通過運行以下命令來安裝:sudo apt install git --yes
-
在你的終端中運行以下命令,無論是在樹莓派上 還是通過 VS Code 和遠程 SSH 會話連接,以查看有關連接的麥克風的信息:
arecord -l
你會看到一個連接的麥克風列表。它會類似於以下內容:
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。
任務 - 連接和配置揚聲器
-
使用適當的方法連接揚聲器。
-
在你的終端中運行以下命令,無論是在樹莓派上還是通過 VS Code 和遠程 SSH 會話連接,以查看有關連接的揚聲器的信息:
aplay -l
你會看到一個連接的揚聲器列表。它會類似於以下內容:
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 揚聲器,你也會看到這個列表。 -
如果你使用的是額外的揚聲器,而不是連接到內建耳機插孔的揚聲器或耳機,你需要將其配置為默認。為此,運行以下命令:
sudo nano /usr/share/alsa/alsa.conf
這將在
nano
中打開一個配置文件,nano
是一個基於終端的文本編輯器。使用鍵盤上的箭頭鍵向下滾動,直到找到以下行:defaults.pcm.card 0
將值從
0
更改為你想要使用的卡號,該卡號來自aplay -l
命令返回的列表。例如,在上面的輸出中,有一個名為card 1: M0 [eMeet M0], device 0: USB Audio [USB Audio]
的第二個聲卡,使用卡號 1。要使用這個,我會將該行更新為:defaults.pcm.card 1
將此值設置為適當的卡號。你可以使用鍵盤上的箭頭鍵導航到該號碼,然後像編輯文本文件時一樣刪除並輸入新號碼。
-
按
Ctrl+x
保存更改並關閉文件。按y
保存文件,然後按return
選擇文件名。
任務 - 測試麥克風和揚聲器
-
運行以下命令,通過麥克風錄製 5 秒鐘的音頻:
arecord --format=S16_LE --duration=5 --rate=16000 --file-type=wav out.wav
當此命令運行時,對著麥克風發出聲音,例如說話、唱歌、打節拍、演奏樂器或任何你喜歡的聲音。
-
5 秒鐘後,錄音將停止。運行以下命令播放音頻:
aplay --format=S16_LE --rate=16000 out.wav