電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>超簡單的音樂頻譜可視化器

超簡單的音樂頻譜可視化器

2022-11-17 | zip | 0.54 MB | 次下載 | 2積分

資料介紹

描述

我想稍微修飾一下我的房間,所以我決定選擇一些基本的 LED 燈條。不僅僅是靜態(tài)地照亮事物,我還想讓燈光能夠?qū)νㄟ^揚(yáng)聲器播放的音樂做出反應(yīng)。具體來說,我的目標(biāo)是制作一個對聲音頻率做出反應(yīng)的照明系統(tǒng)。我找不到任何簡單的軟件和硬件指令來做到這一點(diǎn),所以我們來了!

這個項(xiàng)目的主要目標(biāo)是簡單。您可以在不到一小時的時間內(nèi)以低于 40 美元的價格建造它。

第 1 步:零件

該項(xiàng)目可以完全使用來自 Sparkfun 的面包板兼容組件構(gòu)建。查看完整列表的零件部分,但需要注意的一點(diǎn)是,當(dāng)然可以將此處的零件替換為其他零件。

幾乎任何微控制器都可以在這里工作,盡管它至少應(yīng)該和 Arduino Uno (16 MHz ATmega328) 一樣快。響應(yīng)速率的限速步驟是傅立葉變換,因此像基于 Cortex M 系列的微控制器將具有驚人的速度。您還需要弄清楚您選擇的任何微控制器的寄存器設(shè)置,所以我推薦基于 ATmega328 的東西。

任何與 Adafruit 的 NeoPixel 庫兼容的燈條都可以使用。最后,您可能需要兩個電源(一個用于燈,一個用于微控制器)。

第2步:電路

pYYBAGN0M3CAX8EiAAF1Gp-yS4g671.png

如您所見,電路并不是特別復(fù)雜。有關(guān)更多詳細(xì)信息,請參見上圖,但基本連接如下所示:

5V 電源 -> Barrel Jack -> LED Strip Vin

5V 電源 -> Barrel Jack -> LED 燈條接地和微控制器接地

微控制器 5V 輸出 -> 麥克風(fēng)模塊 Vin

微控制器接地 -> 麥克風(fēng)模塊接地

微控制器引腳 2 -> LED 燈條數(shù)據(jù)輸入

微控制器 A0 -> 麥克風(fēng)模塊音頻輸出

注意事項(xiàng):

連接 LED 燈條:列出的 SparkFun LED 燈條使用紅色、綠色和白色電線。紅色是電源輸入,接地是數(shù)據(jù)輸入,白色是接地。您可以將跳線直接插入母連接器引腳以進(jìn)行連接。確保連接右端 - 有一個箭頭指示數(shù)據(jù)必須流向哪個方向。

單獨(dú)的電源:我發(fā)現(xiàn)當(dāng)燈連接到與微控制器相同的電源時,聲音分析變得非常嘈雜。我將此歸因于導(dǎo)致電壓波動的 LED 燈條。出于這個原因,我建議使用單獨(dú)的電源為您的燈供電

電平轉(zhuǎn)換音頻輸出:這個 SparkFun 模塊很不錯,因?yàn)樗哂蟹糯篼溈孙L(fēng)音頻和將音頻電平集中在電源電壓一半的組件。如果您使用不同的模塊,它可能無法完成這兩項(xiàng)任務(wù),所以要小心。如果音頻沒有被放大并且電平?jīng)]有改變,你可能不會有很好的結(jié)果。

使用多個燈條:當(dāng)然可以將多個 LED 燈條連接在一起。但是,如果您這樣做,請注意您可能需要一個能夠提供大量電流(3 安培以上)的電源。

第 3 步:軟件

您可以在附件部分和GitHub 上找到該軟件。該軟件需要以下庫,這兩個庫都可以直接從 Arduino 庫管理器中安裝:

arduinoFFT

Adafruit NeoPixel

關(guān)于該軟件需要注意的一項(xiàng)是采樣。奈奎斯特采樣定理規(guī)定,為了捕獲信號,您需要對其采樣速度至少是信號中變化最快的分量的兩倍。如果我們想要捕獲包含有意義頻率到大約 20 kHz 的音頻信號,我們需要以大于 40 kHz 的速率進(jìn)行采樣。Arduino 的analogRead 函數(shù)太慢了,所以我們必須操縱一些微控制器寄存器來直接訪問模數(shù)轉(zhuǎn)換器ADC)數(shù)據(jù)。歸功于本教程的寄存器操作代碼。此代碼是特定于設(shè)備的,因此如果您不使用基于 ATmega328 的板,則需要修改這些設(shè)置以在您自己的微控制器上工作。

我們實(shí)際上使用快速傅里葉變換 (FFT) 提取頻率信息。如果將時域中的 N 個真實(shí)樣本(即沒有相位信息)的數(shù)組輸入到 FFT 函數(shù)中,您將得到頻域中的 N 個點(diǎn)的數(shù)組,其中一半是冗余的。由于我們在 40 kHz 左右采樣,因此最大頻率分量將在 20 kHz 左右(根據(jù)上述采樣定理)。我的代碼使用 64 個樣本,因此我們得到的頻率分辨率為 20000/(64/2) = 625 Hz。

然后我提取最大幅度的頻率分量,并根據(jù)這個分量的頻率改變光的顏色。我將此頻率映射到 0 到 255 之間的范圍,并按如下方式創(chuàng)建顏色,其中 X 軸是映射頻率,Y 軸是每個顏色通道的幅度:

poYBAGN0M3aAUXCCAAEZ1cfKzZI473.png

最低頻率用綠色表示,最高頻率用紅色表示。其間的頻率以顏色組合表示。我非常喜歡這種可視化,但其他的當(dāng)然是可能的。另一件需要注意的事情是,如果信號高于某個音量,我只會顯示顏色。如果不是,則條帶將顯示暗白色。我發(fā)現(xiàn)當(dāng)沒有音樂播放時燈光閃爍很煩人。您可以相應(yīng)地調(diào)整 sound_thresh 變量。

要調(diào)整的事情:

變量 loop_num 是 FFT 將一起計(jì)算和平均的次數(shù)。如果你發(fā)現(xiàn)你的燈太緊張,增加這個數(shù)字!

變量 sound_thresh 是燈光開始改變顏色的聲音閾值。如果您發(fā)現(xiàn)音樂需要非常響亮才能讓燈光開始做出反應(yīng),您可以降低此數(shù)字,或者如果您不希望燈光閃爍,則可以增加此數(shù)字。

變量樣本是傅里葉變換的輸入向量的大小。試著玩弄這個數(shù)字,但要保持它的 2 次方。

編譯代碼并將其上傳到您的微控制器,您應(yīng)該一切就緒!

第 4 步:安裝和后續(xù)步驟

基本上就是這樣——如果你正確連接了所有東西,你現(xiàn)在就有了一個功能強(qiáng)大的音樂可視化器。安裝應(yīng)該很簡單 - 只需選擇一個可以使用電源插座的位置。大多數(shù)條帶都有背膠,因此您幾乎可以將它們粘貼在任何地方。顯然,您可以做很多事情來修改這個項(xiàng)目。這里有一些想法:

改變顏色:如果你不喜歡我的顏色選擇,你可以改變這個軟件來創(chuàng)建你自己的!

使用音量而不是頻率:SparkFun 聲音檢測器模塊還有一個稱為“ENVELOPE”的引腳,它是聲音整體音量的量度。您可以使用analogRead 對該引腳進(jìn)行采樣,刪除FFT 代碼,然后根據(jù)聲級修改顏色。

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)