Inhoudsopgave:

Verander X-box Rock Band Drums in een Midi Stand Alone elektronische drums. - Ajarnpa
Verander X-box Rock Band Drums in een Midi Stand Alone elektronische drums. - Ajarnpa

Video: Verander X-box Rock Band Drums in een Midi Stand Alone elektronische drums. - Ajarnpa

Video: Verander X-box Rock Band Drums in een Midi Stand Alone elektronische drums. - Ajarnpa
Video: Overview of the Roland V-Drums TD-50X Series Electronic Drum Kits 2024, Juli-
Anonim

Ik had het geluk om een gebruikte x-box-drumset te krijgen, het is in een wat ruwe vorm en geen peddel, maar niets dat niet kan worden gerepareerd. Ik verander het in een op zichzelf staand elektrisch drumstel. De analoge waarde van de piëzo-sensor lezen en die omzetten in MIDI-commando's.

De huidige hardware bestaat uit RPI-Zero, mcp3008 die is aangesloten op de originele piëzo sensoren op de ingestelde drums.

Benodigdheden

MCP3008 + IC socket x-box drumkit, of 5 piëzo gemonteerd op een oppervlak. rpi zerousb geluidskaart voor rpisimple versterkte luidsprekers enkele draden en pcb.6 10M ohm weerstanden en enkele mannelijke headers voor de piëz-connectorkaart

Stap 1: Zorg dat de piëzosensor klaar is

Image
Image

Ik nam het eerst een deel en vond alle piëzo-sensoren, bedrading, en maakte een bord met een weerstand van 1M tussen de 2 draden van elke piëzo.

De Cymbal had een interessant extra circuit in zich. Ik heb er een onderdeel uit gehaald en alleen de sensor overgelaten. Ik wil op een dag uitzoeken wat de output van dat circuit is, Dit deel van het testen en werken is gedaan op arduino uno.

Stap 2: Schrijf wat code

Ik heb de x-box een beetje opgeknapt en alle kapotte onderdelen gerepareerd. De uit elkaar vallende pads verwijderd.

En eindelijk een code die goed genoeg werkt voor mijn kind - nog niet perfect.

De originele code die ik wilde gebruiken en degene die me heeft geholpen om de mijne uit te werken, is dezehttps://github.com/evankale/ArduinoMidiDrums

maar toen ik eraan werkte, ontdekte ik dat hij de midi-noot direct na het verzenden stopt. wat oké is als je een game op de computer speelt, waarvoor die code is bedoeld, maar niet zo geweldig als je de midi-noot echt wilt spelen.

U kunt de code downloaden in het bijgevoegde bestand - let op: er zijn er 4.

Ik heb ook een echt coole functie toegevoegd waarmee je de notitie voor elk toetsenbord kunt kiezen, het slaat zelfs de instellingen op in de EEPROM.

en de 3 software die ik in de video noem zijn loopbe1, hairless midi serial bridge en VMPK

De volgende grote stap is om het te verplaatsen naar een Raspberry Pi.

Stap 3: Laat het werken op een Raspberry Pi

Image
Image

Nadat ik het project bijna had opgegeven, vroeg ik het op een paar plaatsen opnieuw en werd ik doorverwezen naar een artikel dat me op het juiste pad zette, namelijk fluidsynth.

Ik heb een aantal goede uren besteed om het werkend te krijgen en uiteindelijk lukte het. Het belangrijkste probleem was om midi aan de Rpi te laten werken. Daarvoor installeerde ik fluidsynth met behulp van deze geweldige tutorial

sandsoftwaresound.net/qsynth-fluidsynth-ras…

Ik stel de Arduino in om seriële commando's te verzenden, en luister er vervolgens naar met python-serieel op de framboos en stuur dat naar midi via de fluidsynth.

Ik heb zelfs een goed sf2-bestand voor drums kunnen downloaden.

Zoals je kunt zien, vindt Kesem het geweldig. De arduino gebruikte dezelfde code en voor de rpi schrijf ik de bijgevoegde code, ik kon de sf2-bestanden niet bijvoegen - maar ze kunnen gemakkelijk worden gevonden met google.

Stap 4: Laat het op zichzelf staan

Laat het op zichzelf staan
Laat het op zichzelf staan
Laat het op zichzelf staan
Laat het op zichzelf staan

De grootste stap om het als stand-alone te laten werken, was om de arduino te verwijderen en te proberen het een beetje sneller te laten werken. er waren merkbare hiaten tussen de "hit" en het geluid dat op de midi werd gespeeld. Dus om van de Arduino af te komen, had ik een analoog alternatief nodig en hier kwam de mcp3008 te hulp. je kunt in de afbeeldingen zien dat ik er een break out board voor heb gemaakt, en in de video kun je alle details over de stappen vinden. De mcp3008 gebruikt spi om te communiceren en ik heb de 2 aangesloten en enkele tests uitgevoerd, adafruit heeft een geweldige bibliotheek voor de mcp3008 voor python. nogmaals instructies in de video. Ik heb een rpi zero gebruikt vanwege zijn grootte en ik heb een externe usb-geluidskaart toegevoegd, voor de geluidsuitvoer. Ik gebruikte een eenvoudige luidspreker met ingebouwde versterker voor het afspelen van het geluid. De huidige code is ook bijgevoegd en het draait op de rpi zelf en is ingesteld als een service, dus het kan worden uitgevoerd wanneer het is geladen. Een echt coole functie die ik heb toegevoegd, was om de kleine resetknop op de doos aan te sluiten en die te gebruiken om het systeem af te sluiten, omdat ik zonder scherm werk. De huidige code is nog niet perfect, en ik blijf proberen om het te verbeteren en het wordt steeds beter, dus als je ideeën hebt om het nog beter te laten werken als het op de midi aankomt, hoor ik het graag.

Aanbevolen: