Reads two PS2-keyboard and transmits MIDI commands. Includes arpeggiator and learn/replay mode.
The core of this project is an ATmega328 with an Arduino bootloader running at 16 MHz. It reads signals from the PS2-keyboards inside interrupt routines that listen to the CLK and DATA line from the keyboard, decodes the received bytes and places them into a first-level ringbuffer. A second stage consumes the bytes to assemble key-codes (carefully keeping track of key-up and key-down events) and fills second-level ringbuffers with key-events. These second-level ringbuffers are continuously monitored in the main loop of the program where the key-events are translated to MIDI sequences. The MIDI commands are subsequently transmitted via the serial line at 31250 baud such that MIDI devices can understand them.
The system features transposing notes and selecting MIDI channels as well as an arpeggiator that operates with two levels of complexity (chord level and harmonic sequence) and has a learn/replay mode.
Veuillez saisir votre adresse électronique. Les instructions de réinitialisation de votre mot de passe vous seront immédiatement envoyées par courriel.
Elektor Magazine est depuis 65 ans l’une des principales sources d’information en électronique pour les ingénieurs, les concepteurs, les start-ups et les entreprises. Notre magazine est soutenu par une communauté active d’ingénieurs en électronique – des étudiants aux professionnels – passionnés par la conception et le partage d’idées innovantes.
Pour eux, nous publions chaque année des centaines de contenus sous différents formats, tels que des articles, des vidéos, des webinaires et d’autres formats d’apprentissage. Notre mission est de partager les connaissances de toutes les manières possibles et d’inspirer les lecteurs avec les dernières évolutions du secteur de l’ingénierie électrique.
Thank you for your vote!
Ajoutez vos commentaires
Thank you for your vote!
Veuillez vous connecter pour ajouter une note ou fermez pour revenir en arrière
Discussion (1 commentaire(s))