Transpose X — Cross Platform App that Transposes Music
About the project
Problem
Musicians often need to digitize sheet music for editing, practice, or performance. Manual transcription is slow and error-prone, and existing mobile tools lack accuracy, usability, or real-time transposition.
Solution
I developed Transpose X, a Flutter-based cross-platform app with a Node.js + Express backend that integrates the Audiveris OMR engine. The app enables users to snap a photo of sheet music, automatically convert it to MusicXML, and transpose it into any desired key with a single tap.
Figma Prototype

App Workflow


Demo

Technologies Used
Frontend: Flutter (cross-platform iOS/Android)
Backend: Node.js + Express
Core Engine: Audiveris OMR for sheet music recognition
Custom Logic: Transposition algorithm written from scratch
Other Tools: Figma (wireframes/UI design), GitHub for version control
Challenges
Resolving Java compatibility issues with the Audiveris library.
Designing and implementing a custom transposition engine to shift notation correctly while maintaining musical integrity.
Integrating OMR output into a clean MusicXML workflow that worked seamlessly on mobile devices.
Things I Did
Designed the UI/UX in Figma, focusing on simple workflows for musicians.
Wrote the custom transposition algorithm to handle sharps, flats, and accidentals correctly.
Built a cross-platform Flutter frontend with progress tracking and export features.
Integrated the backend recognition pipeline into the mobile app for end-to-end functionality.
Results
Delivered a fully functional prototype that demonstrated the complete workflow: Photo → Recognition → MusicXML → Transposed Output.
Verified real-time performance on both iOS and Android devices.
Achieved positive feedback from early testers, especially around usability and the “instant transposition” feature.
Decision not to publish to the App Store was intentional — to avoid recurring backend and Apple developer account fees — but the app is fully deployable as-is.


