借助包括 Jetson Nano、Xavier NX 和 AGX Xavier 在內的模型,NVIDIA 生產了一系列緊湊型計算機,能夠在各種環境中高效地部署 AI 解決方案,以滿足不同的需求和期望。
Jetson Nano 開發者套件是一款小巧而強大的計算機,它允許用戶同時運行多個神經網絡,用于圖像分類、對象檢測、分割和語音處理等應用——所有這些都在一個功耗低至 5 瓦的緊湊型設備中。Jetson Nano 開發套件配備了各種外圍設備,包括 USB、以太網和 HDMI 連接。一種缺少但常見的外圍設備是某種形式的音頻輸入或輸出。如今,許多設備都配備了音頻插孔,有些甚至帶有板載麥克風。
有很多方法可以為 Jetson 設備添加音頻功能。USB 揚聲器和USB 麥克風是一種簡單的解決方案,但它們確實占用了寶貴的 USB 插槽,這些插槽可能更適合用于鍵盤、藍牙功能、Internet Keys 和其他配件。
在 Jetson 設備上,NVIDIA 通過 40 針 GPIO 擴展接頭提供對 I2C、SPI 和 I2S 等一系列外圍設備的訪問。為了處理音頻,我們最感興趣的是 I2S 外設,它是一種用于連接數字音頻設備的電氣串行總線接口。我們不需要從頭開始創建 I2S 功能,但了解常見通信協議的來龍去脈總是有用的,因此有關 I2S 的更多信息,請查看這篇精彩的文章。
Jetson 的 40 針擴展接頭使我們能夠輕松訪問 I2S 外圍設備,并且通過適當的附加電子設備,我們可以快速利用 I2S 功能。
來自協議開發商飛利浦半導體的 I2S 時序圖。(照片:SmartCow)
我們選擇的硬件
Adafruit I2S MEMS 麥克風分線板 (SPH0645LM4H)是一款緊湊型音頻錄制解決方案,輸入頻率范圍為 50 Hz 至 15 kHz。該板沒有模擬輸出,而是純數字輸出。
許多微控制器通常配備模擬輸入,因此添加模擬音頻信號是一項簡單的任務。對于更大更復雜的微控制器和微計算機,不能保證模擬輸入。更復雜的是,眾所周知,模擬麥克風系統會滲入噪音。通常可以找到 I2S 外設來代替模擬輸入。
麥克風是一個單聲道元素——您可以選擇使用左聲道或右聲道。對于那些更喜歡/需要立體聲的人來說,使用兩個麥克風的簡單配置可以很容易地實現,一個麥克風設置在左聲道,第二個麥克風設置在右聲道。值得一提的是,該設備是從設備,必須使用外部邏輯完全驅動。
Adafruit MAX98357 I2S D 類單聲道放大器適用于具有數字音頻功能的微控制器和微型計算機。它可以接收標準的 I2S 數字音頻輸入,并將其解碼為模擬信號,然后直接放大到揚聲器中。這款緊湊型分線板解決了數字音頻輸出的兩個常見任務:I2S 數字音頻轉換 (DAC) 和放大。放大增益也可以通過添加精心挑選的電阻器或可變電阻器來修改。
輸出是一個大約 300kHz 的方波 PWM,由揚聲器線圈平均 - 聽不到高頻。事實上,它無需任何中間步驟即可直接驅動通用揚聲器。
這款小型單聲道放大器的重量超過了它的重量 - 能夠為 4 歐姆阻抗揚聲器提供高達 3.2 瓦的功率(5V 功率 @ 10% THD)。鑒于其 D 類架構,該放大器非常高效,可輕松在 2.7V 至 5.5V 直流電源下運行 - 非常適合便攜式和電池供電項目。
設置 Jetson Nano
Jetson Nano 是這個項目的核心。設置 Jetson Nano 是一個有據可查的過程。您可以找到有關如何完成此任務的各種資源。
對于我們的任務,Jetson Nano 需要一根用于供電和編程的 USB 到 UART 電纜、一個鍵盤、鼠標和 HDMI 顯示器。此外,我們需要將分線板連接到 Jetson Nano:
確保還將您的 MAX98357A 輸出連接到揚聲器。我們使用了 8 歐姆、15 瓦的揚聲器和 Jetson Nano 提供的 3.3V 電源。
配置 I2S
Jetson Nano 與 SPH0645 和 MAX98375A + 揚聲器(照片:SmartCow)
啟動 Jetson Nano 后,在 Jetson 40 引腳 GPIO 擴展接頭中配置 I2S 引腳是一個非常簡單的過程:
1. 在開發者工具包上,打開命令行終端并運行以下命令:
2. Jetson 將啟動并顯示其主顯示屏。在我們的例子中,我們想要手動配置 Jetson 40pin 接頭和配置接頭引腳。
3. 在“選擇所需功能(針對引腳):”頁面上,選擇 i2s4 選項。
4. 之后,您將被帶回主頁并要求重新啟動并保存您所做的重新配置,因此請繼續并重新啟動。
配置 Jetson 40pin 接頭(照片:SmartCow)
手動配置頭針(照片:SmartCow)
選擇 i2s4 外設(照片:SmartCow)
保存引腳更改(照片:SmartCow)
保存并重啟!(照片:SmartCow)
如果您需要有關配置 Jetson 引腳的進一步指導,請查看此鏈接。
重新啟動并重新登錄 Jetson Nano 后,您需要安裝以安裝任何更新,并下載幾個庫。
讓我們初始化我們的麥克風設置:我們所要做的就是重置我們的聲卡,設置我們的音量,并指定我們希望我們的音頻信號使用的路徑。
在設置采樣率(48kHz)并指定所需的錄音長度(本例中為 30 秒)后,我們終于可以開始錄音了!
錄制后你會注意到我們現在有一個名為“test.wav”的文件,這是錄制的音頻。我們還沒有完成,我們還可以播放錄制的音頻。讓我們重置聲卡并設置音量。
現在剩下要做的就是輸入命令來播放生成的音頻文件。
一定要花點時間坐下來享受聆聽演講的樂趣。請隨時查看我們的迷你演示。我們通過 SPH0645 麥克風錄制了一首歌曲,并使用 MAX98357 播放。
結論
任務完成!我們已經成功地為 Jetson Nano 開發套件構建了一個端到端音頻系統,該系統僅由一根 USB 電纜供電。接下來,您可能會包含一個機器學習模型并播放經過更改的錄音版本。考慮從一種語言翻譯成另一種語言,添加過濾和壓縮等音頻效果,或創建語音映射(誰不想聽起來像達斯維德或摩根弗里曼?)
審核編輯:郭婷
-
麥克風
+關注
關注
15文章
656瀏覽量
55555 -
usb
+關注
關注
60文章
8146瀏覽量
270939 -
機器學習
+關注
關注
66文章
8492瀏覽量
134118
發布評論請先 登錄
評論