資料介紹
描述
靈感
我一直對能夠實時響應聲音的彩色顯示器著迷。能夠看到聲波令人著迷,當聲波被分解成其組成部分時會更好。查看聲音數據的一種方法是使用頻率分析儀,其中從左到右的條形圖根據給定頻帶的幅度擴展和收縮。我想重新創造這種效果,但要有所改變——讓它變得線性且更加豐富多彩。
所需硬件
這個項目的主處理器是一個 Teensy 4,它負責接收傳入的聲音數據并進行處理。在音頻被分解成頻率箱后,它會沿著一串 LED 輸出,從而創建一個燈光秀。至于燈本身,我選擇了一條 240 個 WS2812 LED。
發送音頻
在 Teensy 4 中,內置的音頻庫提供了幾種獲取音頻輸入的方法。其中一些包括 ADC、I2S 甚至 TDM。但是,我選擇了 SD 卡 WAV 音頻,因為它在傳輸音樂時簡單易用。然后,Teensy 4 獲取 WAV 文件并通過 I2S 將其發送到用于輔助輸出的音頻屏蔽,以及通過 USB。這使得 Teensy 顯示為音頻輸入,類似于 USB 麥克風。

混合與分析
USB 音頻輸入類允許將其兩個通道(左聲道和右聲道)“修補”到其他塊中。可以使用 Teensy 音頻系統設計工具查看此布局。對于這個項目,WAV 文件輸入進入混頻器,在此流被均勻放大,然后輸出到 1024 bin FFT 分析儀、峰值模塊,最后是 I2S 輸出模塊。1024 bin FFT 分析儀使用快速傅里葉變換從單個波形中分離出某些頻率,然后將幅度放入 1024 bin。然后通過賦予較低頻率的權重比較高的頻率更多的權重,將這些組合成 16 個 bin。此外,讀取電流波形的峰值,這決定了 LED 的亮度(聲音越大 = 越亮)。

控制 LED
WS2812 的工作原理是讀取一系列脈沖,將它們解析為顏色信息,然后傳遞其余的信息。由于我想快速更新字符串而不阻塞其他所有內容,因此我使用了 WS2812Serial 庫。它通過使用直接內存訪問 (DMA) 與 Teensy 4 配合使用,該直接內存訪問 (DMA) 使用專用硬件將數據從緩沖區發送到串行端口,同時繞過 CPU。這釋放了一些急需的循環,這些循環可用于處理更多的音頻信息和分析。

視覺效果
音頻庫將聽覺數據直接從 wav 流閱讀器發送到 FFT1024 對象和 Peak 對象。峰值分析儀測量聲波的當前整體幅度,并用 設置 LED 燈條的亮度WS2812Serial.setBrightness()
。給定 bin 的值(縮放后)的范圍為 0 到 8。由于一個 bin 中有 15 個 LED,因此 0 表示不亮,1 表示中間的一個亮,2 表示中間的和緊鄰左右亮燈等

當 Teensy 通電并啟動時,顏色是隨機確定的,因此兩個燈光秀幾乎不可能相同。

未來的可能性
這是一個非常有趣的項目,而且觀看起來更有趣。還有很多其他方法可以將此項目修改為更好的東西,例如添加效果開關庫、其他輸入音頻的方法以及更多燈光。
- RGB SMD LED打造壯觀的燈光秀
- 帶音樂LED燈光秀的圣誕毛衣
- Teensy和Ardunio 2種溝通方式
- 使用樹莓派創建由音樂驅動的燈光效果
- 用于Teensy 4.1控制的6軸電機驅動板
- Teensy 4.1 R4ge Pro移動平臺
- stm32音樂頻譜OLED屏顯示 54次下載
- STM32F103+FFT+OLED25664的音樂頻譜制作分享(繼續干貨)
- 基于STM32f103的FFT頻率測試程序下載 168次下載
- 基于音樂情感識別的舞臺燈光自動控制系統 15次下載
- 基于DSP的通用FFT在電網檢測中的應用 3次下載
- 基于新型FPGA的FFT設計與實現 48次下載
- 如何使用Arduino快速制作Teensy BadUSB詳細資料和程序說明
- DSP的課程設計教程之FFT變換的詳細資料說明 30次下載
- 3.4.3 FFT文件匯總 37次下載
- 如何理解FFT中的頻譜泄露效應? 1039次閱讀
- 調用HLS的FFT庫實現N點FFT 1137次閱讀
- MCU如何實現FFT音樂頻譜顯示 3909次閱讀
- 如何進行FFT IP配置和設計 2474次閱讀
- 用FPGA實現FFT算法的方法 5587次閱讀
- Xilinx FFT IP介紹與仿真測試 3057次閱讀
- 通俗易懂的講解FFT的讓你快速了解FFT 3.5w次閱讀
- 海為PLC在音樂噴泉中實現噴泉的聲、光、水完美控制設計 3431次閱讀
- 海為PLC用于音樂噴泉控制系統的設計方案 1830次閱讀
- 淺談FFT算法原理 基于FPGA的FFT算法的硬件實現 2.6w次閱讀
- 【實用指南】教你使用FFT和示波器 6414次閱讀
- 示波器+FFT,輕松駕馭頻譜測量 1.6w次閱讀
- 視覺享受!用Raspberry Pi實現圣誕樹燈光秀 8344次閱讀
- 實數FFT算法的設計及其C語言實現 1w次閱讀
- 利用FFT IP Core實現FFT算法 6938次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論