32 (Linier) / 11 (Pseudo Log) band Audio Spectrum Analyzer
นี่คือความพยายามครั้งแรกของผมในการสร้างโปรเจกต์ Arduino ผมสนใจทุกอย่างเกี่ยวกับโปรเจกต์ด้านเสียง เมื่อเจอ Audio Visualizer โดย Shajeeb ผมจึงลองปรับสเกลบนหน้าจอให้แตกต่างออกไป ออกแนว Logarithmic แต่ผมสร้างตาราง (Log / exponential) ใน Excel และนำการแมปข้อมูลไปใช้ด้วยตัวเองในโค้ดของโปรเจกต์
เพิ่ม/ปรับปรุงปุ่มเพื่อเปลี่ยนการแสดงผล: แบบ single bar (แสดงผลสเกลแบบ linear / double bar - pseudo log)
หวังว่าคุณจะชอบและสนุกกับการสร้างสรรค์
รายละเอียดทางเทคนิคเพิ่มเติม
การแสดงผลเสียงความละเอียดสูง
โปรเจกต์นี้มี Audio Spectrum Analyzer ระดับมืออาชีพ พร้อมโหมดการแสดงผลที่แตกต่างกันสองแบบ เหมาะสำหรับระบบเสียง hi-fi
- การประมวลผลสัญญาณแบบ Dual-Mode: Arduino (โดยทั่วไปคือ Arduino Nano หรือ Uno) จะทำการ Fast Fourier Transform (FFT) แบบเรียลไทม์ เฟิร์มแวร์ช่วยให้ผู้ใช้สามารถสลับไปมาระหว่างการแสดงผลแบบ linear 32-band ความละเอียดสูง และการแสดงผลแบบ pseudo-logarithmic 11-band ซึ่งเลียนแบบการรับรู้การได้ยินของมนุษย์ได้ใกล้เคียงยิ่งขึ้น
- อัตราการรีเฟรชที่รวดเร็ว: ได้รับการปรับปรุงให้เหมาะสมโดยใช้ไลบรารี
fix_fftตัววิเคราะห์จะอัปเดตที่ 60+ FPS ให้แอนิเมชันแบบ vertical-bar ที่ราบรื่นและลื่นไหลบน MAX7219 LED matrix หรือ I2C OLED
การควบคุม Dynamic Range
- การปรับเทียบ Auto-Gain: มี AGC (Automatic Gain Control) ที่ใช้ซอฟต์แวร์ ซึ่งปรับความไวตามระดับเสียงปัจจุบัน ทำให้มั่นใจว่า visualizer จะทำงานอยู่เสมอโดยไม่มี clipping