Spisu treści:

Zamień bębny X-box Rock Band w Midi Stand Alone Electronic Drums.: 4 kroki (ze zdjęciami)
Zamień bębny X-box Rock Band w Midi Stand Alone Electronic Drums.: 4 kroki (ze zdjęciami)

Wideo: Zamień bębny X-box Rock Band w Midi Stand Alone Electronic Drums.: 4 kroki (ze zdjęciami)

Wideo: Zamień bębny X-box Rock Band w Midi Stand Alone Electronic Drums.: 4 kroki (ze zdjęciami)
Wideo: Первый стрим за пол года. Отвечаем на важные вопросы! 2024, Listopad
Anonim

Miałem szczęście, że dostałem używany zestaw perkusyjny x-box, jest trochę nierówny i nie ma wiosła, ale nic, czego nie można naprawić. Zamieniam go w samodzielny elektryczny zestaw perkusyjny. Odczytywanie wartości analogowej z czujnika piezo i przekształcanie jej w polecenia MIDI.

Obecny sprzęt składa się z RPI-Zero, mcp3008, który jest podłączony do oryginalnych czujników piezoelektrycznych na zestawach bębnów.

Kieszonkowe dzieci

MCP3008 + zestaw perkusyjny x-box z gniazdem IC lub 5 piezo montowanych na jakiejś powierzchni. Karta dźwiękowa rpi zerousb do głośników ze wzmacniaczem rpisimple kilka przewodów i rezystorów pcb.6 10M omów i niektórych męskich nagłówków na płytce złącza piez

Krok 1: Przygotuj czujnik piezoelektryczny

Image
Image

Najpierw wziąłem go na część i znalazłem wszystkie czujniki piezoelektryczne, okablowanie i stworzyłem płytkę z rezystorem 1M między 2 przewodami każdego piezo.

Cymbal miał w sobie ciekawy dodatkowy układ. Wziąłem to część zostawiając tylko czujnik. Chcę pewnego dnia dowiedzieć się, jakie jest wyjście tego obwodu, Ta część testów i pracy została wykonana na arduino uno.

Krok 2: Napisz trochę kodu

Naprawiłem trochę x-box, naprawiając wszystkie zepsute części. Usunięto rozpadające się klocki.

I w końcu dostałem kod, który działa wystarczająco dobrze dla mojego dziecka – jeszcze nie idealny.

Oryginalny kod, którego chciałem użyć i ten, który pomógł mi rozpracować mój, to

ale kiedy nad tym pracowałem, dowiedziałem się, że zatrzymuje nutę midi zaraz po jej wysłaniu. co jest w porządku, jeśli grasz w grę na komputerze, do czego jest przeznaczony ten kod, ale nie jest tak wspaniałe, gdy faktycznie chcesz zagrać w nutę midi.

Możesz pobrać kod w załączonym pliku - uwaga jest 4.

Dodałem też naprawdę fajną funkcję, która pozwala wybrać nutę dla każdej klawiatury, nawet zapisuje ustawienia w EEPROM.

a oprogramowanie 3, o którym wspominam w filmie, to loopbe1, bezwłosy most szeregowy midi i VMPK

Następnym dużym krokiem jest przeniesienie go do pracy na Raspberry Pi.

Krok 3: Uruchom go na Raspberry Pi

Image
Image

Po tym, jak prawie zrezygnowałem z projektu, zapytałem ponownie o kilka miejsc i zostałem skierowany do artykułu, który skierował mnie na właściwą drogę, jaką jest fluidsynth.

Spędziłem kilka dobrych godzin, aby to działało i w końcu to zrobiłem. Głównym problemem było sprawienie, aby midi działało na Rpi. W tym celu zainstalowałem fluidsynth za pomocą tego wspaniałego samouczka

sandsoftwaresound.net/qsynth-fluidsynth-ras…

Ustawiam Arduino, aby wysyłało polecenia szeregowe, a następnie słucham ich za pomocą python serial na malinie i wysyłam to do midi przez fluidsynth.

Udało mi się nawet pobrać odpowiedni plik sf2 dla perkusji.

Jak widać Kesem to uwielbia. Arduino używało tego samego kodu i dla rpi pisałem załączony kod, nie mogłem dołączyć plików sf2 - ale można je łatwo znaleźć za pomocą google.

Krok 4: Niech stanie się samodzielny

Niech stanie się samotny
Niech stanie się samotny
Niech stanie się samotny
Niech stanie się samotny

Największym krokiem w sprawieniu, by działał jako samodzielny, było usunięcie arduino i próba przyspieszenia jego działania. były zauważalne przerwy między „uderzeniem” a dźwiękiem odtwarzanym na midi. Więc aby pozbyć się arduino potrzebowałem analogowej alternatywy i tu na ratunek przyszedł mcp3008. możesz zobaczyć na zdjęciach, które stworzyłem dla niego, a na filmie możesz znaleźć wszystkie szczegóły dotyczące kroków. mcp3008 używa spi do komunikacji, a ja podłączyłem 2 i przeprowadziłem kilka testów, adafruit ma świetną bibliotekę dla mcp3008 dla Pythona. ponownie instrukcje w filmie. Użyłem rpi zero ze względu na jego rozmiar i dodałem zewnętrzną kartę dźwiękową USB, od wyjścia dźwięku. Do odtwarzania dźwięku użyłem prostego głośnika z wbudowanym wzmacniaczem. Bieżący kod jest również dołączony i działa na samym sobie rpi oraz jako usługa, więc uruchamia się po załadowaniu. Naprawdę fajną funkcją, którą dodałem, było podłączenie małego przycisku resetowania, który był na pudełku i użycie go do zamknięcia systemu, ponieważ pracuję bez ekranu. Obecny kod nie jest jeszcze doskonały, a ja wciąż staram się go ulepszać i jestem coraz lepszy, więc jeśli masz pomysły na to, aby działał jeszcze lepiej, jeśli chodzi o midi - chciałbym to usłyszeć.

Zalecana: