資料介紹
描述
靈感
我一直對能夠實時響應聲音的彩色顯示器著迷。能夠看到聲波令人著迷,當聲波被分解成其組成部分時會更好。查看聲音數據的一種方法是使用頻率分析儀,其中從左到右的條形圖根據給定頻帶的幅度擴展和收縮。我想重新創造這種效果,但要有所改變——讓它變得線性且更加豐富多彩。
所需硬件
這個項目的主處理器是一個 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次閱讀
下載排行
本周
- 1A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 2PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 3PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 4dsPIC33EDV64MC205電機控制開發板用戶指南
- 5.78MB | 8次下載 | 免費
- 5STC15系列常用寄存器匯總免費下載
- 1.60 MB | 7次下載 | 5 積分
- 6模擬電路仿真實現
- 2.94MB | 4次下載 | 免費
- 7PCB圖繪制實例操作
- 2.92MB | 2次下載 | 免費
- 8零死角玩轉STM32F103—指南者
- 26.78 MB | 1次下載 | 1 積分
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 141次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 137次下載 | 免費
- 4A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 5PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 6如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 7PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統EMC試驗方法及要求
- 1.97 MB | 8次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多