İçindekiler:

VS1053b ile Ses Efektleri Preamplifikatörü: 3 Adım
VS1053b ile Ses Efektleri Preamplifikatörü: 3 Adım

Video: VS1053b ile Ses Efektleri Preamplifikatörü: 3 Adım

Video: VS1053b ile Ses Efektleri Preamplifikatörü: 3 Adım
Video: Ardunio'ya Giriş 2024, Kasım
Anonim
VS1053b ile Ses Efektleri Preamplifikatörü
VS1053b ile Ses Efektleri Preamplifikatörü
VS1053b ile Ses Efektleri Preamplifikatörü
VS1053b ile Ses Efektleri Preamplifikatörü
VS1053b ile Ses Efektleri Preamplifikatörü
VS1053b ile Ses Efektleri Preamplifikatörü

Bu, VLSI VS1053b Audio DSP IC'yi kullanan tamamen işlevsel bir ses efektleri ön amfisidir. Sesi ve beş efekt parametresini ayarlamak için bir potansiyometreye sahiptir. Dokuz sabit efekti ve bir özelleştirilebilir efekti vardır; her efektin gecikme, bozulma-tekrar, modülasyon hızı ve derinliği ve işlenmiş ve doğrudan sesin karışım oranı olmak üzere beş efekt ayarı vardır. Bas ve tiz güçlendirme, bas ve tiz merkez frekansı için ayarlamalar, altı giriş kazanç değeri seçimi, mevcut/kaydedilmiş parametreleri Arduino Eeprom'a/arduino'dan kaydetme veya alma seçeneği ve bir temel/normal/gelişmiş/düzenleme içerir. arasında geçiş yapılan işlevlerin sayısını belirleyen menü seçeneği. Ayarlamalar, bir fonksiyon seçme butonu ve seçilen fonksiyon için değerleri artırmak ve azaltmak için iki buton olmak üzere üç buton kullanılarak yapılır.

Şimdi (Kasım 2020), Teensy 3.6 ve Teensy 4.1'e taşındı. Daha fazla ayrıntı bu Github'da ve iki efekt tanıtım videosunda.

Tam işlevli bir efekt kutusu olmasına rağmen, henüz canlı bir ortamda kullanılmak üzere oluşturulmamıştır.

Adım 1: Yapı ve Parça Listesi

İnşaat ve Parça Listesi
İnşaat ve Parça Listesi

Preamp'ın üç basma düğmesi vardır - bir işlev seçme düğmesi ve seçilen işlev değerini artırmak ve azaltmak için iki düğme. Ayrıca ses kontrolü olarak bir potansiyometre kullanır veya beş efekt parametresinin değerlerini ayarlamak için kullanılabilir. Bu efekt parametreleri, modülasyon hızı ve derinliği (koro, fazer ve flanş efektlerinde kullanılır) veya gecikme süresi ve tekrarıdır (eko ve yankı efektlerinde kullanılır). Beşinci parametre, doğrudan ve işlenmiş ses yolunun oranını ayarlamak için kullanılır. Fonksiyon seçme düğmesi şunlar arasında geçiş yapar: (1) Efekt seçimi (0 ila 9), (2) Ses seviyesi seçimi (potansiyometre ile ayarlanır), (3) bir bas güçlendirme ayarı, (4) bir tiz yükseltme ayarı, (5) bas ve (6) tiz merkez frekans seçimi (10 Hz'lik adımlarla 20Hz'den 150 Hz'e ve 1 kHz'lik adımlarla 1 kHz'den 15 kHz'e kadar), (7) 1/2x'ten 1x'e, 5x'e kadar kazanç ayarlanabilen bir giriş kazancı seçimi, (8) ATmega328 eeprom'a parametreleri kaydetme veya okuma, (9) fonksiyon seçim döngüsü detayı (14 döngünün tamamından sadece beş efekt parametresi arasında geçiş yapan 6 döngü düzenleme moduna kadar) ve (10) ila (14), potansiyometreyi kullanarak beş efekt parametresinin ayarlanması.

Adafruit VS1053 Breakout kartı önerilir, ancak Sparkfun Board, IC paketinin 1 ve 48 numaralı pinlerine iki atlama telinin lehimlenmesi şartıyla da kullanılabilir. Bunlar daha sonra Line In2 ve Line In1 olarak kullanılacaktır. En iyi çabama rağmen efekt koduyla çalışacak bir Geeetech kartı (kırmızı varyant) alamadım - VS1053 tasarımının özel bir Shenzhen varyantı olabilir…

Parça listesi:

ATmega328 Arduino Uno R3 Wemos 64x48 I2C OLED Ekran veya benzeri Adafruit VS1053b Codec devre kartı (veya bir Sparkfun VS1053 Breakout Board - lehimleme gerekir) 3 adet minyatür buton 100k lineer potansiyometre Bir amplifikatöre ve girişe bağlanmak için 2 x Stereo ses soketi Dirençler: 5 x 10k, 3 x 470 ohm Kondansatörler: 1uf 25v elektrolitikSarı ve kırmızı LED1 x Ayak Pedalı

2. Adım: Yazılım

Ekli Arduino taslağı (Effect34.ino), Adafruit VS1053 kitaplığına dayanmaktadır ve VLSI efekt işleme kodu, Arduino taslağı içinde bir eklenti olarak yüklenir.

VLSI efekt işlemeyle ilgili daha fazla ayrıntı, web sitelerinden edinilebilen geliştirme araçları - VSIDE - yüklenerek ve ardından VSIDE\templates\project\VS10X3_Audio_Effects klasörünü açarak elde edilebilir. Yürütülebilir dosyayı, daha sonra Arduino çizimine kopyalanan ve çizimin döngü işlevi başlamadan önce yüklenen bir C kodu tipi eklentiye dönüştürmek için Coff2All aracını kullandım.

Yazılım üç düğmeyi izler. İlk düğme 9 fonksiyon ve 5 efekt parametresi arasında geçiş yapar. İşlev 1, 0 ila 6 arasındaki efektler olarak Wet Echo, Phaser, Flanger, Chorus, Reverb ve Dry Echo gibi 10 efekt sunar. Efekt 7 ve 8 sıfırlanır - yani ses girişinin işlenmesi yoktur - bu, Beş efekt parametresi için değerler vererek Arduino kodunu. Yukarı ve aşağı basma düğmeleri daha sonra 0 ila 9 efekt işlevini seçmek için kullanılır veya bunlar, bas güçlendirme gibi diğer işlevler için değerleri ayarlamak için kullanılır.

Bu işlev düğmesi aynı zamanda bas ve tiz artırma değerleri (16 adım olarak) ve tiz artırma için merkez frekansı (1 Khz adımlarda 1 ila 15 kHz) ve bas artırma frekansını (20 Hz ila 150 Hz) seçmek için kullanılır. 10 Hz'lik adımlarla. Ayrıca 0,5x, 1x, 2x, 3x, 4 veya 5x kazanç olarak ayarlanabilen bir giriş kazancı seçmek için kullanılır. Mevcut parametreleri kaydetme seçeneği (Volume, Bass ve Treble Boost) vardır., Bas ve Tiz Frekansı ve özelleştirilebilir efekt için beş efekt parametresi) ve ayrıca bu parametreleri daha sonraki bir aşamada almak için.

İşlev seçme düğmesi çok sayıda seçenek (15) arasında geçiş yaptığından, döngü sayısının Efekt Seçimi (0 ila 9), Ses Seçimi, Bas Yükseltme Seçimi, Tiz Yükseltme'ye düşürüldüğü bir temel modu ayarlama seçeneğine sahiptir. Varsayılan tam modun yanı sıra temel modunkine 5 Efekt parametresini ekleyen normal bir mod veya seçin. Ayrıca yalnızca beş efekt parametresi arasında geçiş yapan bir düzenleme modu da vardır.

Sesi kontrol etmek için bir potansiyometre kullanılır ve ayrıca 9 numaralı efekt için beş efekt parametresini ayarlamak için kullanılır, yani efektler potansiyometre döndürülerek ayarlanabilir.

Ek olarak, VS1053 üzerinde çalışan kod, mevcut seçili ses efektini etkinleştirmek veya devre dışı bırakmak için VS1053 GPIO3 pinine bağlı bir ayak pedalının kurulumunu sağlar. Not: Bu, galvanik olarak 5 volta değil 3,3 volta bağlanmalıdır (Arduino Uno tarafından kullanıldığı gibi). Efektler işlendiğinde bir LED yanar ve doğrudan bir ses geçişi olduğunda söner. Eeprom'dan okuma veya yazma gibi önemli işlemleri onaylamak için bir etkinlik LED'i kullanılır.

OLED Ekranın 64x48 piksel çözünürlüğünü sağlamak için Adafruit Graphics kitaplığının biraz değiştirilmiş bir versiyonu kullanılmıştı - lütfen sonunda Bay Mducer için verilen bağlantılara bakın. Çizim kodunda gerekli kitaplıkların bir listesi verilmiştir.

Kodu ve kütüphaneleri için adı geçen tüm kişi ve kuruluşlara kredi verilir.

3. Adım: Bağlantılar

VLSI:

Adafruit:

Github VS1053b:

Github Grafikleri:

Oled:

Sparkfun:

Önerilen: