About this project
MIDIChords is a monorepo that houses a MIDI chords and music theory application available on desktop, web, and mobile. The project is published on the iOS/macOS App Store and Microsoft Store.
Architecture and platforms:
- apps/desktop: desktop application built with Qt/PySide6 and Python, with Tk API compatibility.
- apps/web: web application based on Cloudflare Worker with a JavaScript frontend.
- apps/mobile_flutter: iOS/Android tablet application developed in Flutter.
- midichords: Python implementation of music theory, audio, and desktop; web and Flutter versions maintain equivalent implementations where Python cannot be reused.
- assets: shared graphic resources and audio samples.
Evidenced functionalities:
- Harmonic chord detection.
- Chord generation.
- Scale generation.
- Pattern listings.
- The Flutter app also includes a metronome and tuner.
- The documentation mentions an SPA mode with a circle of fifths in the web frontend.
Technical requirements:
- Python 3.12 or 3.13 for the desktop app (3.14 presents issues with NumPy, PySide6, and python-rtmidi).
- Node.js and wrangler for local web development.
- Flutter 3.38+ for mobile.
- Base prepared for Flatpak/Flathub packaging.
The project includes verification scripts per platform (python, web, mobile, all), automatic synchronization of shared assets, and CI flows in GitHub Actions for deployment to Cloudflare Pages (via v* tags). It also documents complete signing and notarization flows for macOS (Developer ID and Mac App Store), iOS App Store publication, and Windows installer generation.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.