Portfolio Details

Nueva Armonia Studio
Nueva Armonia Studio
Nueva Armonia Studio
Nueva Armonia Studio
Nueva Armonia Studio
Nueva Armonia Studio
Nueva Armonia Studio
Flutter & Dart MusicXML Processing MIDI Protocol Integration Event-Driven Programming Cross-Platform Architecture Multi-Thread Processing Movil Device Testing
Mobile Visualizer
Febrero 2026
Triple Ten

Mobile Software Engineering / Music Technology

Built a cross-platform mobile application using Flutter/Dart that parses complex musical data into an interactive, real-time graphical interface.

Designed and developed a cross-platform mobile application utilizing Flutter and Dart, engineered to parse and render standard MusicXML files into interactive digital sheet music and a synchronized virtual Piano Roll. The software features an intelligent real-time learning engine that integrates hardware MIDI input to track and evaluate a student's performance with independent hand isolation (left/right hand training) and dynamic playback control.

Developing a system capable of parsing complex, deeply nested XML music structures into real-time visual assets while maintaining microsecond synchronization with audio engines and external MIDI hardware. The app required a robust multithreading approach to handle real-time MIDI input events without blocking the UI rendering, along with an algorithmic pitch-shifting engine for transposing both the visual staff notes and the MIDI data on the fly. Furthermore, implementing an asynchronous "wait-for-note" (interactive learning mode) engine required precise event-driven programming.

Built a modular Flutter application that decodes MusicXML objects into a custom data structure for rendering real-time vector graphics. I implemented state-of-the-art MIDI connection listeners capable of communicating natively with electronic keyboards over USB/Bluetooth. The core logic handles dynamic transpositions (pitch scaling), multi-track audio routing, and independent hand tracking. By leveraging advanced event-driven loops, the application pauses playback and waits indefinitely for the user to strike the exact matching MIDI note before advancing the score, creating an adaptive, interactive educational environment.

Key Features

  • MusicXML Parsing Engine
  • Real-time MIDI Hardware Integration
  • Dynamic Transposition System
  • Adaptive "Wait-for-Note" Learning Mode
  • Independent Hand Isolation
  • Synchronized Dual Visualization