色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用樹莓派Pico制作USB麥克風

jf_zGNBEhbi ? 來源:趣無盡 ? 2023-08-17 10:12 ? 次閱讀

becf8d38-3ca2-11ee-ac96-dac502259ad0.jpg

MAKER:Sandeep Mistry/譯:趣無盡

簡介
本指南將教你如何使用樹莓派 Pico 和外部數字麥克風制作屬于自己的 USB 麥克風。本項目通過 RP2040 微控制器MCU)的編程 I/O(PIO)、直接存儲器訪問(DMA)和通用串行總線(USB)功能來實現。

組件清單

– 樹莓派 Pico
Adafruit PDM MEMS 麥克風拓展板
– 面包板
– 條線若干

關于 USB

USB 是一種于 1996 年發布的極其流行的標準,適用于有線計算機外圍設備,例如鍵盤、鼠標、打印機、掃描儀和麥克風等。

樹莓派 Pico 的 RP2040 MCU 具有*“USB 1.1主機/設備”*功能,正是因為這個功能,樹莓派 Pico 既可以連接到現有的 USB 外圍設備(主機模式),又可以創建自己的 USB 外圍設備(設備模式)。另外,樹莓派 Pico SDK 使用 TinyUSB 庫作為其 USB 軟件堆棧。

Tiny USB 庫是一個開源的、跨平臺的嵌入式系統 USB 堆棧,支持包括樹莓派 RP2040 在內的多種 MCU,同時還支持設備和主機兩種模式。我們可以利用它內置的 USB 音頻類支持把樹莓派 Pico 變成 USB 麥克風。

選擇麥克風

RP2040 MCU 具有內置的 4 通道 12 位精度模數轉換器ADC)功能,可用于從外部模擬麥克風收集音頻,但我們發現模擬麥克風的音頻包含大量噪音,因此我們改用數字麥克風。

數字麥克風有兩種常用接口

– PDM
– I2S

雖然 RP2040 沒有自帶這兩種接口的支持,但靈活的可編程 I/O (PIO) 特性使我們能通過軟件創建 PDM 或 I2S 的外圍接口。在本指南中,我們將使用 Adafruit PDM MEMS 麥克風拓展板來實現。為了從麥克風獲取數據,我們會利用一個引腳來生成輸出時鐘脈沖信號,并使用另一個引腳來接收數據。

PDM 如何運轉?

當 PDM 麥克風接收到時鐘脈沖信號后,它會根據麥克風捕獲的模擬音頻值輸出 0 或 1 信號。為了以每秒 16000 個樣本(16 kHz)的采樣率捕獲音頻,則必須將 PDM 麥克風的時鐘輸入驅動到 1.024 MHz,然后才可以對 PDM 麥克風數據信號進行過濾和降采樣。對于每個樣本,系統會將 64 個值的 0 或 1 輸出進行平均,來創建一個介于 -32678 和 32767 之間的 16 位值,用于表示該樣本的音頻數據。

bef33dd2-3ca2-11ee-ac96-dac502259ad0.jpg

為了使數據更直觀,你可以使用邏輯分析儀(比如 https://www.saleae.com/)來查看 PDM CLK 和 DAT 信號。

bf053334-3ca2-11ee-ac96-dac502259ad0.jpg

處理流程

系統將執行以下操作:

1. 使用 PIO 在 PDM 麥克風中生成 1.024 MHz 時鐘信號。
2. 在每個時鐘周期,使用 PIO 從 PDM 麥克風捕獲一次數字值。
3. DMA 將被配置為捕獲 1 毫秒的音頻,采樣率為 16 kHz,每毫秒生成 16 個樣本。這 16 個樣本將由 64 x 16 = 1024 位組成。
4. 收到 16 個樣本的原始 PDM 數據后,它將使用 *OpenPDM2PCM* 庫將 1024 位原始 PDM 數據進行過濾并降采樣,生成 16 個 16 位 https://en.wikipedia.org/wiki/Pulse-code_modulation(PCM)音頻樣本。
5. 最后,將 16 個 PCM 音頻樣本通過 USB 接口發送到電腦

bf1294a2-3ca2-11ee-ac96-dac502259ad0.jpg

硬件設置

你需要在樹莓派 Pico 和 Adafruit PDM MEMS 麥克風拓展版上焊接排針,以便把它們插在面包板上。如果要了解更多關于焊接排針的細節,請參閱 MagPi 網站的 https://magpi.raspberrypi.org/articles/how-to-solder-gpio-pin-headers-to-raspberry-pi-pico 指南。

焊接完這兩個部分后,把它們放在面包板上,并按以下方式設置接線:

bf31b5f8-3ca2-11ee-ac96-dac502259ad0.jpg

+---------+-------------------+
| PDM Mic | Raspberry Pi Pico |
|---------+-------------------|
|    3V   |        3V3        |
|---------+-------------------|
|    GND  |        GND        |
|---------+-------------------|
|    SEL  |        GND        |
|---------+-------------------|
|    DAT  |       GPIO2       |
|---------+-------------------|
|    CLK  |       GPIO3       |
+---------+-------------------+

注意:把 PDM Mic. SEL 連接到 GND 接口會導致它在時鐘信號下降(從邏輯電平 1 變為 0)后輸出新數據。

bf3f4ad8-3ca2-11ee-ac96-dac502259ad0.jpg

設置 Pico SDK 開發環境

首先,在電腦上安裝樹莓派官方提供的 Pico SDK 和所需的工具鏈。

若要了解更多信息,請參考 https://datasheets.raspberrypi.org/pico/getting-started-with-pico.pdf 手冊。

該指南的第 2.1 節適用于所有操作系統,對于特點的操作系統,參考以下幾個章節:

Linux第 2.2 節
macOS:第 9.1 節
Windows:第 9.2 節

下載并編譯 pico-microphone 庫和示例

設置環境變量 PICO_SDK。

export PICO_SDK_PATH=/path/to/pico-sdk

打開終端,克隆源碼并切換到相應目錄:

cd ~/ 
git clone https://github.com/sandeepmistry/pico-microphone.git
cd pico-microphone

創建 build 目錄,并切換到相應目錄:

mkdir build
cd build

執行編譯命令:

make .. -DPICO_BOARD=pico
make

按住開發板上的 BOOTSEL 按鈕,同時用 USB 數據線把開發板連到電腦上。

把 examples/usb_microphone/usb_microphone.uf2 文件復制到樹莓派 Pico 的 ROM 引導磁盤中:

cp -a examples/usb_microphone/usb_microphone.uf2 /Volumes/RPI-RP2/.

不出意外的話,電腦上會出現一個名為 “MicNode” 的新麥克風設備:

bf57d710-3ca2-11ee-ac96-dac502259ad0.png

錄制音頻數據

現在我們已經把樹莓派 Pico 開發板配置為 USB 麥克風,只需安裝錄音軟件就能通過 USB 接口獲取音頻數據。本文中以 https://www.audacityteam.org/為例。

https://www.audacityteam.org/download/并安裝 Audacity。安裝完成后,打開 Audacity,然后選擇 “MicNode” 作為輸入設備。

bf693690-3ca2-11ee-ac96-dac502259ad0.jpg

你可以點擊“錄制” 按鈕開始為錄制音頻,并在需要停止時按下“停止” 按鈕。

bf89acfe-3ca2-11ee-ac96-dac502259ad0.png

總結

我們使用樹莓派 Pico 和外部 PDM 麥克風制作屬于自己的 USB 麥克風。本項目中使用了樹莓派 RP2040 的 PIO、DMA 和 USB 硬件特性,以及 OpenPDM2PCM 和 TinyUSB 軟件庫,在 Arm Cortex-M0+ 架構的 RP2040 處理器上運行。

我們的 USB 麥克風從 PDM 麥克風捕獲 PDM 音頻數據,將 PDM 數據轉換為 PCM 格式,然后通過 USB 實時將 PCM 數據發送到 PC!

由于USB音頻標準用于樹莓派 Pico板和PC之間的通信,因此PC端不需要定制軟件。

本文通過 USB 將音頻數據從樹莓派 Pico 傳輸到電腦,但你也可以把 https://github.com/sandeepmistry/pico-microphone 庫與模擬(或 PDM) 麥克風搭配使用,并在設備上執行數字信號處理 (DSP) ,這樣就可以在沒有電腦的情況下對開發板的音頻環境做出反應。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7768

    瀏覽量

    152961
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17572

    瀏覽量

    356026
  • 麥克風
    +關注

    關注

    15

    文章

    652

    瀏覽量

    55269
  • usb
    usb
    +關注

    關注

    60

    文章

    8046

    瀏覽量

    268415
  • 樹莓派
    +關注

    關注

    118

    文章

    1882

    瀏覽量

    106263

原文標題:使用樹莓派 Pico 制作 USB 麥克風

文章出處:【微信號:趣無盡,微信公眾號:趣無盡】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    無線調頻麥克風的設計和制作

    無線調頻麥克風的設計和制作
    發表于 05-27 11:27 ?5401次閱讀
    無線調頻<b class='flag-5'>麥克風</b>的設計和<b class='flag-5'>制作</b>

    怎么連接麥克風

    連接麥克風的時候把正負極接反了,會不會把麥克風給燒壞掉,急急急;該怎么檢測,請指教。
    發表于 08-01 09:16

    PIC32MZ怎么與USB麥克風交互

    我有一個PIC32 MZ2048 EFH144。我也有一個USB麥克風,我直接連接到PIC32 MZ。我試圖使用和聲,并使用一個示例項目(USB麥克風),但似乎PIC32 MZ不支持該
    發表于 04-30 07:53

    怎樣去設計一種基于esp8266+樹莓+u***麥克風的智能音箱呢

    怎樣去設計一種基于esp8266+樹莓+u***麥克風的智能音箱呢?如何去實現呢?
    發表于 02-24 07:34

    基于樹莓pico的FM接收器

    到 Raspberry Pi Pico 的 GPIO26(ADC 引腳)和右揚聲器輸出連接到 GPIO27(ADC 引腳),這將允許用戶使用 Raspberry pi Pico 作為任何 PC 或筆記本電腦的麥克風輸入
    發表于 07-08 07:56

    數字麥克風原理與應用

    數字麥克風介紹
    發表于 08-08 11:46 ?39次下載

    麥克風陣列原理與應用

    麥克風陣列原理與應用
    發表于 08-08 11:43 ?64次下載

    麥克風的工作原理及制作注意事項

    麥克風學名為傳聲器,是將聲音信號轉換為電信號的能量轉換器件,麥克風由最初通過電阻轉換聲電發展為電感、電容式轉換,大量新的麥克風技術逐漸發展起來,這其中包括鋁帶、動圈等麥克風,以及當前廣
    的頭像 發表于 07-05 14:28 ?4.2w次閱讀
    <b class='flag-5'>麥克風</b>的工作原理及<b class='flag-5'>制作</b>注意事項

    間諜麥克風制作

    為了檢測遠距離的聲音,使用了兩個分支攻擊。該電路以一個駐極體麥克風(MK1)開始,該麥克風采用10K上拉電阻產生DC + AC信號。但是,在音頻領域,DC信號根本不好,所以必須刪除!這是C3的工作,它將麥克風與放大器級耦合(消除
    的頭像 發表于 08-05 10:31 ?4078次閱讀
    間諜<b class='flag-5'>麥克風</b>的<b class='flag-5'>制作</b>

    何為MEMS麥克風

    所有麥克風(傳統麥克風和MEMS麥克風)都通過柔性膜片感應聲波。在聲波壓力下,膜片會發生位移。現在市場上大部分MEMS麥克風都使用電容技術來探測聲音。電容式MEMS
    的頭像 發表于 06-01 15:07 ?1w次閱讀
    何為MEMS<b class='flag-5'>麥克風</b>?

    科大訊飛麥克風陣列模塊 麥克風設計參考手冊

    科大訊飛麥克風陣列模塊 麥克風設計參考手冊
    發表于 11-04 09:47 ?217次下載

    教學麥克風為什么推薦使用UHF教學麥克風

    教學麥克風作為教學設備,抗干擾和噪音是評價教學麥克風的首要標準。2.4G是全球通用的,不會受頻道所限制,然而缺點也是非常明顯,那就是信號干擾多。2.4G應用廣泛,如藍牙,WIFI都是使用2.4G傳輸
    的頭像 發表于 03-31 18:44 ?3531次閱讀
    教學<b class='flag-5'>麥克風</b>為什么推薦使用UHF教學<b class='flag-5'>麥克風</b>?

    使用樹莓Pico開發板制作實時音頻光譜圖可視化器

    本期教程將會通過使用一塊帶有外置數字麥克風和 TFT LCD 顯示屏的樹莓 Pico 開發板制作一個實時音頻光譜圖可視化器。有了它,你就可
    的頭像 發表于 10-24 10:49 ?2490次閱讀
    使用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>Pico</b>開發板<b class='flag-5'>制作</b>實時音頻光譜圖可視化器

    高性能USB麥克風解決方案

    高性能USB麥克風的設計思路是將專業錄音室級別的音質帶到日常使用中,同時保持使用的簡便性。傳統的專業麥克風通常需要外部音頻接口和復雜的設置,而USB
    的頭像 發表于 08-21 19:50 ?712次閱讀
    高性能<b class='flag-5'>USB</b><b class='flag-5'>麥克風</b>解決方案

    什么是麥克風陣列

    什么是麥克風陣列?想象一下一個小型音響部隊在你面前,它們站成一排,用不同的麥克風捕捉聲音。這就是麥克風陣列的基本概念。麥克風陣列由多個麥克風
    的頭像 發表于 11-30 01:08 ?812次閱讀
    什么是<b class='flag-5'>麥克風</b>陣列
    主站蜘蛛池模板: 国产亚洲精品久久久久久久软件 | 国产精品永久在线 | 久久精品免费电影 | 添加一点爱与你电视剧免费观看 | 色欲AV人妻精品麻豆AV | 久久视热频国只有精品 | 日韩亚洲欧美中文高清在线 | 妖精视频免费高清观看 | 一本到2v不卡区 | 在线免费观看a视频 | 免费精品美女久久久久久久久久 | 国产精品自在在线午夜蜜芽tv在线 | 久久亚洲电影www电影网 | 亚洲视频欧美在线专区 | 大陆老熟女60岁 | 亚洲日韩精品AV中文字幕 | 肉色欧美久久久久久久蜜桃 | 出轨的妻子在线观看 | 国产97碰免费视频 | 国产亚洲精品视频亚洲香蕉视 | 国产精品成人自拍 | 视频在线免费观看 | 又黄又粗又爽免费观看 | 国产精品成人啪精品视频免费观看 | 99er热精品视频国产免费 | 97视频免费观看2区 97视频免费观看 | 亚洲视频中文字幕在线 | 牛牛自拍国产免费视频 | 精品国产福利一区二区在线 | 亚洲青青草原 | 久久久久久久久免费视频 | 成人a视频片在线观看免费 成人a毛片久久免费播放 | 国产小视频在线高清播放 | 国产精品人妻无码久久久2022 | 国拍在线精品视频免费观看 | 欧美大jiji| 一本道高清到手机在线 | YELLOW在线观看高清视频免费 | 国产毛A片久久久久久无码 国产毛A片啊久久久久久A | 国内卡一卡二卡三免费网站 | 97国产在线观看 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品