İçindekiler:

X-box Rock Band Davullarını Midi Stand Alone Elektronik Davullara Dönüştürün.: 4 Adım (Resimlerle)
X-box Rock Band Davullarını Midi Stand Alone Elektronik Davullara Dönüştürün.: 4 Adım (Resimlerle)

Video: X-box Rock Band Davullarını Midi Stand Alone Elektronik Davullara Dönüştürün.: 4 Adım (Resimlerle)

Video: X-box Rock Band Davullarını Midi Stand Alone Elektronik Davullara Dönüştürün.: 4 Adım (Resimlerle)
Video: Rock Band 4 Band-in-a-Box (BIAB) Unboxing 2024, Temmuz
Anonim

Kullanılmış bir x-box davul seti aldığım için şanslıydım, biraz pürüzlü bir şekle sahip ve kürek yok ama düzeltilemeyecek hiçbir şey yok. Onu bağımsız bir elektrikli davul setine dönüştürüyorum. Piezo sensöründen analog değeri okuma ve bunu MIDI komutlarına çevirme.

Mevcut donanım, set tamburlarındaki orijinal piezo sensörlerine bağlı olan RPI-Zero, mcp3008'den oluşmaktadır.

Gereçler

MCP3008 + IC soket x-box bateri seti veya bir yüzeye monte edilmiş 5 piezo. rpisimple güçlendirilmiş hoparlörler için rpi zerousb ses kartı bazı teller ve pcb.6 10M ohm dirençler ve piez konektör kartı için bazı erkek başlıklar

1. Adım: Piezo Sensörünü Hazırlayın

Image
Image

Önce bir parça aldım ve tüm piezo sensörlerini, kablolarını buldum ve her piezonun 2 kablosu arasında 1M dirençli bir kart oluşturdum.

Zil içlerinde ilginç bir ekstra devre vardı. Sadece sensörü bırakarak bir parça aldım. Bir gün bu devrenin çıktısının ne olduğunu bulmak istiyorum.

Testin ve çalışmanın bu kısmı arduino uno üzerinde yapıldı.

Adım 2: Bazı Kodlar Yazın

X kutusunu biraz düzelttim, tüm kırık parçaları onardım. Parçalanan pedleri çıkardı.

Sonunda çocuğum için yeterince iyi çalışan bir kod buldum - henüz mükemmel değil.

Kullanmak istediğim ve benimkini çözmeme yardımcı olan orijinal kod şudurhttps://github.com/evankale/ArduinoMidiDrums

ama üzerinde çalışırken, midi notayı gönderdikten hemen sonra durdurduğunu öğrendim. Bu, bilgisayarda bir oyun oynuyorsanız sorun değil, bu kodun anlamı budur, ancak gerçekten midi nota çalmak istediğinizde o kadar da iyi değildir.

Kodu ekteki dosyadan indirebilirsiniz - 4 tane olduğuna dikkat edin.

Ayrıca her tuş takımı için notu seçmenize izin veren harika bir özellik ekledim, hatta ayarları EEPROM'a kaydediyor.

ve videoda bahsettiğim 3 yazılım loopbe1, tüysüz midi seri köprü ve VMPK

Sonraki büyük adım, onu bir ahududu pi üzerinde çalışacak şekilde taşımaktır.

3. Adım: Ahududu Pi Üzerinde Çalışmasını Sağlayın

Image
Image

Neredeyse projeden vazgeçtikten sonra birkaç yerde tekrar sordum ve beni doğru yola sokan bir yazıya yönlendirildim, yani sıvı sentez.

Çalışması için birkaç iyi saat harcadım ve sonunda başardım. Asıl sorun, midi'nin Rpi üzerinde çalışmasını sağlamaktı. Bunun için bu harika öğreticiyi kullanarak sıvılar kurdum

sandsoftwaresound.net/qsynth-fluidsynth-ras…

Arduino'yu seri komutlar gönderecek şekilde kurdum ve ardından ahududu üzerinde python serial ile dinledim ve bunu sıvılar aracılığıyla midi'ye gönderdim.

Davullar için uygun bir sf2 dosyası indirmeyi bile başardım.

Gördüğünüz gibi Kesem seviyor. Arduino aynı kodu kullanıyordu ve rpi için ekli kodu yazıyorum, sf2 dosyalarını ekleyemedim - ancak google kullanılarak kolayca bulunabilirler.

Adım 4: Tek Başına Durmasını Sağlayın

Yalnız Kalmasını Sağlayın
Yalnız Kalmasını Sağlayın
Yalnız Kalmasını Sağlayın
Yalnız Kalmasını Sağlayın

Tek başına çalışmasını sağlamanın en büyük adımı, arduino'yu çıkarmak ve biraz daha hızlı çalışmasını sağlamaktı. "Vuruş" ile midi'de çalınan ses arasında fark edilir boşluklar vardı. Bu yüzden arduinodan kurtulmak için analog bir alternatife ihtiyacım vardı ve işte mcp3008'in kurtarmaya geldiği yer burası. Bunun için bir ara pano oluşturduğum görsellerde, videoda ise adım adım tüm detayları bulabilirsiniz. Mcp3008 iletişim kurmak için spi kullanıyor ve 2'yi bağladım ve birkaç test yaptım, adafruit'in python için mcp3008 için harika bir kütüphanesi var. yine videodaki talimatlar. Boyutundan dolayı rpi sıfır kullandım ve ses çıkışına harici usb ses kartı ekledim. Sesi çalmak için dahili amplifikatörlü basit bir hoparlör kullandım. Mevcut kod da eklidir ve kendi başına ve bir hizmet olarak ayarladığı rpi'de çalışır, böylece yüklendiğinde çalışır. Eklediğim harika bir özellik, kutudaki küçük sıfırlama düğmesini bağlamak ve ekransız çalıştığım için sistemi kapatmak için kullanmaktı. Mevcut kod henüz mükemmel değil ve onu geliştirmeye çalışıyorum ve daha iyiye gidiyorum, bu yüzden midi söz konusu olduğunda daha da iyi çalışmasını sağlamak için fikirleriniz varsa - duymak isterim.

Önerilen: