สารบัญ:

แอมป์เอฟเฟกต์เสียงพร้อม VS1053b: 3 ขั้นตอน
แอมป์เอฟเฟกต์เสียงพร้อม VS1053b: 3 ขั้นตอน

วีดีโอ: แอมป์เอฟเฟกต์เสียงพร้อม VS1053b: 3 ขั้นตอน

วีดีโอ: แอมป์เอฟเฟกต์เสียงพร้อม VS1053b: 3 ขั้นตอน
วีดีโอ: New Products 4/9/2014 2024, พฤศจิกายน
Anonim
แอมป์เอฟเฟกต์เสียงพร้อม VS1053b
แอมป์เอฟเฟกต์เสียงพร้อม VS1053b
แอมป์เอฟเฟกต์เสียงพร้อม VS1053b
แอมป์เอฟเฟกต์เสียงพร้อม VS1053b
แอมป์เอฟเฟกต์เสียงพร้อม VS1053b
แอมป์เอฟเฟกต์เสียงพร้อม VS1053b

นี่คือปรีแอมป์เอฟเฟกต์เสียงที่ทำงานได้อย่างสมบูรณ์โดยใช้ VLSI VS1053b Audio DSP IC มีโพเทนชิออมิเตอร์สำหรับปรับระดับเสียงและพารามิเตอร์เอฟเฟกต์ห้าแบบ มันมีเอฟเฟกต์คงที่เก้าแบบและเอฟเฟกต์ที่ปรับแต่งได้หนึ่งเอฟเฟกต์ โดยแต่ละเอฟเฟกต์มีการตั้งค่าเอฟเฟกต์ห้าแบบ ได้แก่ การหน่วงเวลา การสลายตัวซ้ำ ความเร็วในการมอดูเลตและความลึก และอัตราส่วนการผสมของเสียงที่ประมวลผลและเสียงโดยตรง ประกอบด้วยการปรับเพิ่มเสียงทุ้มและเสียงแหลม ความถี่กลางเสียงเบสและเสียงแหลม การเลือกค่าเกนอินพุตหกค่า ตัวเลือกสำหรับบันทึกหรือเรียกพารามิเตอร์ปัจจุบัน/ที่บันทึกไว้ไปยัง/จาก Arduino Eeprom และพื้นฐาน/ปกติ/ขั้นสูง/แก้ไข ตัวเลือกเมนูที่กำหนดจำนวนฟังก์ชันที่วนรอบ การปรับทำได้โดยใช้ปุ่มกดสามปุ่ม กล่าวคือ ปุ่มเลือกฟังก์ชัน และปุ่มสองปุ่ม เพื่อเพิ่มและลดค่าสำหรับฟังก์ชันที่เลือก

ตอนนี้ (พฤศจิกายน 2020) ถูกย้ายไปยัง Teensy 3.6 และ Teensy 4.1 รายละเอียดเพิ่มเติมอยู่ที่ Github นี้ รวมถึงวิดีโอสาธิตเอฟเฟกต์สองรายการ

แม้ว่าจะเป็นกล่องเอฟเฟกต์ที่ทำงานได้อย่างสมบูรณ์ แต่ก็ยังไม่ได้ถูกสร้างขึ้นเพื่อใช้ในสภาพแวดล้อมแบบสด

ขั้นตอนที่ 1: รายการก่อสร้างและชิ้นส่วน

รายการก่อสร้างและชิ้นส่วน
รายการก่อสร้างและชิ้นส่วน

ปรีแอมป์มีปุ่มกดสามปุ่ม - ปุ่มเลือกฟังก์ชั่นและปุ่มสองปุ่มเพื่อเพิ่มและลดค่าฟังก์ชั่นที่เลือก นอกจากนี้ยังใช้โพเทนชิออมิเตอร์เป็นตัวควบคุมระดับเสียง หรือใช้เพื่อตั้งค่าพารามิเตอร์เอฟเฟกต์ทั้งห้า พารามิเตอร์เอฟเฟกต์เหล่านี้คือความเร็วและความลึกของการมอดูเลต (ใช้ในเอฟเฟกต์คอรัส, เฟสเซอร์ และเอฟเฟกต์จับเจ่า) หรือการหน่วงเวลาและการทำซ้ำ (ใช้ในเอฟเฟกต์เสียงสะท้อนและรีเวิร์บ) พารามิเตอร์ที่ห้าใช้เพื่อกำหนดอัตราส่วนของเส้นทางเสียงที่ประมวลผลโดยตรง ปุ่มเลือกฟังก์ชั่นจะวนไปตาม: (1) เลือกเอฟเฟกต์ (0 ถึง 9), (2) เลือกระดับเสียง (ปรับด้วยโพเทนชิออมิเตอร์), (3) การปรับเพิ่มเสียงเบส, (4) การปรับบูสต์เสียงแหลม, (5) เบส และ (6) การเลือกความถี่เสียงกลางเสียงแหลม (จาก 20Hz ถึง 150 Hz ในขั้นตอน 10 Hz และจาก 1 kHz ถึง 15 kHz ในขั้นตอนที่ 1 kHz) (7) การเลือกอัตราขยายอินพุตที่ปรับได้ตั้งแต่ 1/2x ถึง 1x, ขยายสูงสุด 5x, (8) การบันทึกหรืออ่านพารามิเตอร์ไปยัง ATmega328 eeprom, (9) ฟังก์ชันเลือกรายละเอียดรอบ (จากทั้งหมด 14 รอบเป็นโหมดแก้ไข 6 รอบที่วนรอบพารามิเตอร์เอฟเฟกต์ห้ารายการเท่านั้น) และ (10) ถึง (14) การปรับพารามิเตอร์เอฟเฟกต์ทั้งห้าโดยใช้โพเทนชิออมิเตอร์

แนะนำให้ใช้บอร์ด Adafruit VS1053 Breakout แต่สามารถใช้ Sparkfun Board ได้หากมีการบัดกรีสายจัมเปอร์สองเส้นเข้ากับพิน 1 และ 48 ของแพ็คเกจ IC สิ่งเหล่านี้จะถูกใช้เป็น Line In2 และ Line In1 แม้ว่าฉันจะพยายามอย่างเต็มที่แล้ว แต่ฉันก็ยังไม่สามารถใช้บอร์ด Geeetech (ตัวแปรสีแดง) เพื่อทำงานกับโค้ดเอฟเฟกต์ได้ - เป็นไปได้ว่าอาจเป็นตัวแปรพิเศษของการออกแบบ VS1053 ของเซินเจิ้น…

ส่วนรายการ:

ATmega328 Arduino Uno R3 Wemos 64x48 I2C OLED Display หรือที่คล้ายกัน Adafruit VS1053b Codec breakout board (หรือ Sparkfun VS1053 Breakout Board - การบัดกรีที่จำเป็น) 3 x ปุ่มกดขนาดเล็ก 100k potentiometer เชิงเส้น 2 x ซ็อกเก็ตเสียงสเตอริโอเพื่อเชื่อมต่อกับเครื่องขยายเสียงและอินพุต ตัวต้านทาน: 5 x 10k, 3 x 470 ohm ตัวเก็บประจุ: 1uf 25v อิเล็กโทรไลต์ LED สีเหลืองและสีแดง1 x สวิตช์เท้า

ขั้นตอนที่ 2: ซอฟต์แวร์

แนบภาพร่าง Arduino (Effect34.ino) ตามไลบรารี Adafruit VS1053 และโค้ดประมวลผลเอฟเฟกต์ VLSI ถูกโหลดเป็นปลั๊กอินภายในร่าง Arduino

รายละเอียดเพิ่มเติมของการประมวลผลเอฟเฟกต์ VLSI สามารถรับได้โดยการติดตั้งเครื่องมือการพัฒนา - VSIDE - หาได้จากเว็บไซต์ของพวกเขา จากนั้นเปิดโฟลเดอร์ VSIDE\templates\project\VS10X3_Audio_Effects ฉันใช้เครื่องมือ Coff2All ของพวกเขาเพื่อแปลงไฟล์ปฏิบัติการเป็นปลั๊กอินประเภทรหัส C ซึ่งถูกคัดลอกลงในร่าง Arduino และโหลดก่อนที่ฟังก์ชันลูปของร่างจะเริ่มขึ้น

ซอฟต์แวร์ตรวจสอบปุ่มกดสามปุ่ม ปุ่มแรกจะหมุนเวียนไปตามฟังก์ชัน 9 ฟังก์ชันและพารามิเตอร์เอฟเฟกต์ 5 รายการ ฟังก์ชัน 1 มี 10 เอฟเฟกต์ เช่น Wet Echo, Phaser, Flanger, Chorus, Reverb และ Dry Echo เป็นเอฟเฟกต์ 0 ถึง 6 เอฟเฟกต์ 7 และ 8 เป็นศูนย์ - นั่นคือไม่มีการประมวลผลอินพุตเสียง - สามารถเปลี่ยนได้ รหัส Arduino โดยให้ค่าสำหรับพารามิเตอร์เอฟเฟกต์ห้ารายการ จากนั้นใช้ปุ่มกดขึ้นและลงเพื่อเลือกฟังก์ชั่นเอฟเฟกต์ 0 ถึง 9 หรือใช้เพื่อตั้งค่าสำหรับฟังก์ชั่นอื่นๆ เช่น เพิ่มเสียงเบส

ปุ่มฟังก์ชั่นนี้ยังใช้เพื่อเลือกระดับเสียงเบสและเสียงแหลม (เป็น 16 ขั้น) และความถี่กลางสำหรับการเพิ่มเสียงแหลม (1 ถึง 15 kHz ใน 1 kHz) และความถี่เพิ่มเสียงเบส (ตั้งแต่ 20 Hz ถึง 150 Hz ในขั้นตอน 10 Hz นอกจากนี้ยังใช้เพื่อเลือกเกนอินพุตที่สามารถปรับขยายได้ 0.5x, 1x, 2x, 3x, 4 หรือ 5x มีตัวเลือกในการบันทึกพารามิเตอร์ปัจจุบัน (Volume, Bass และ Treble Boost, ความถี่เสียงทุ้มและเสียงแหลม และพารามิเตอร์เอฟเฟกต์ทั้งห้าสำหรับเอฟเฟกต์ที่ปรับแต่งได้) และการดึงพารามิเตอร์เหล่านี้ในภายหลัง

เนื่องจากฟังก์ชั่นเลือกปุ่มกดวนรอบตัวเลือกจำนวนมาก (15) จึงมีตัวเลือกในการตั้งค่าโหมดพื้นฐานที่จำนวนรอบจะลดลงเหลือ Effects Select (0 ถึง 9), Volume Select, Bass Boost Select, Treble Boost เลือกหรือโหมดปกติที่เพิ่มพารามิเตอร์เอฟเฟกต์ 5 รายการให้กับโหมดพื้นฐานรวมถึงโหมดเต็มเริ่มต้น นอกจากนี้ยังมีโหมดแก้ไขที่วนรอบพารามิเตอร์เอฟเฟกต์ห้ารายการเท่านั้น

โพเทนชิออมิเตอร์ใช้เพื่อควบคุมระดับเสียงและยังใช้เพื่อตั้งค่าพารามิเตอร์เอฟเฟกต์ห้ารายการสำหรับเอฟเฟกต์หมายเลข 9 นั่นคือ เอฟเฟกต์สามารถปรับได้โดยการหมุนโพเทนชิออมิเตอร์

นอกจากนี้โค้ดที่ทำงานบน VS1053 ยังรองรับการติดตั้งฟุตสวิตช์ที่เชื่อมต่อกับพิน VS1053 GPIO3 เพื่อเปิดหรือปิดเอฟเฟกต์เสียงที่เลือกอยู่ในปัจจุบัน หมายเหตุ: สิ่งนี้จะต้องเชื่อมต่อด้วยไฟฟ้า 3.3 โวลต์และไม่ใช่ 5 โวลต์ (ตามที่ Arduino Uno ใช้) ไฟ LED ติดสว่างเมื่อมีการประมวลผลเอฟเฟกต์และปิดเมื่อเป็นลูปทรูของเสียงโดยตรง LED แสดงกิจกรรมใช้เพื่อยืนยันการทำงานที่สำคัญ เช่น การอ่านหรือเขียนจาก Eeprom

ไลบรารี Adafruit Graphics รุ่นที่ได้รับการแก้ไขเล็กน้อยถูกนำมาใช้เพื่อรองรับความละเอียด 64x48 พิกเซลของจอแสดงผล OLED โปรดดูลิงก์ที่ให้ไว้ตอนท้ายสำหรับ Mr Mcauser รายชื่อไลบรารีที่จำเป็นจะได้รับในโค้ดแบบร่าง

เครดิตจะมอบให้กับบุคคลและหน่วยงานทั้งหมดที่กล่าวถึงรหัสและห้องสมุดของพวกเขา

ขั้นตอนที่ 3: ลิงค์

VLSI:

อดาฟรุ๊ต:

Github VS1053b:

กราฟิก Github:

โอเล่:

Sparkfun:

แนะนำ: