Transpose X — Cross Platform App that Transposes Music

Cross-platform mobile app built in Flutter that automatically transposes sheet music into any key using Optical Music Recognition (OMR).

Cross-platform mobile app built in Flutter that automatically transposes sheet music into any key using Optical Music Recognition (OMR).

Cross-platform mobile app built in Flutter that automatically transposes sheet music into any key using Optical Music Recognition (OMR).

About the project

TransposeX is a Flutter-based mobile app that automatically transposes sheet music into any desired key, making it easier for musicians to adapt pieces for different instruments or vocal ranges. It leverages real-time key detection and transposition algorithms to ensure accuracy and a seamless user experience. Designed with accessibility and usability in mind, the app provides instant previews, export to MusicXML, and a clean UI that runs on both iOS and Android.

TransposeX is a Flutter-based mobile app that automatically transposes sheet music into any desired key, making it easier for musicians to adapt pieces for different instruments or vocal ranges. It leverages real-time key detection and transposition algorithms to ensure accuracy and a seamless user experience. Designed with accessibility and usability in mind, the app provides instant previews, export to MusicXML, and a clean UI that runs on both iOS and Android.

TransposeX is a Flutter-based mobile app that automatically transposes sheet music into any desired key, making it easier for musicians to adapt pieces for different instruments or vocal ranges. It leverages real-time key detection and transposition algorithms to ensure accuracy and a seamless user experience. Designed with accessibility and usability in mind, the app provides instant previews, export to MusicXML, and a clean UI that runs on both iOS and Android.

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.

Designed by Christine Zhou · Coded with ☕ + ❤️ in Framer

Designed by Christine Zhou · Coded with ☕ + ❤️ in Framer