프로젝트 소개

MIDIChords는 데스크톱, 웹, 모바일에서 사용할 수 있는 MIDI 코드 및 음악 이론 애플리케이션을 포함하는 모노레포지토리입니다. 이 프로젝트는 iOS/macOS App Store와 Microsoft Store에 게시됩니다. 아키텍처 및 플랫폼: - apps/desktop: Qt/PySide6와 Python으로 구축된 데스크톱 애플리케이션이며, Tk API 호환성을 제공합니다. - apps/web: Cloudflare Worker 기반 웹 애플리케이션으로, 프론트엔드는 JavaScript입니다. - apps/mobile_flutter: Flutter로 개발된 iOS/Android 태블릿 애플리케이션. - midichords: 음악 이론, 오디오 및 데스크톱을 위한 Python 구현이며, 웹과 Flutter 버전은 Python을 재사용할 수 없는 경우 동등한 구현을 유지합니다. - assets: 공유되는 그래픽 리소스와 오디오 샘플. 확인된 기능: - 화음의 조화적 감지. - 화음 생성. - 음계 생성. - 패턴 목록. - Flutter 앱에는 또한 메트로놈과 튜너가 포함됩니다. - 문서에서는 웹 프론트엔드에 오각원 circle of fifths SPA 모드가 언급됩니다. 기술 요구 사항: - 데스크톱 앱용 Python 3.12 또는 3.13 (3.14는 NumPy, PySide6 및 python-rtmidi와 호환 문제가 있습니다). - 로컬 웹 개발을 위한 Node.js와 wrangler. - 모바일용 Flutter 3.38+. - Flatpak/Flathub 패키징을 위한 준비된ベース. 프로젝트에는 플랫폼별 검증 스크립트(python, web, mobile, all), 공유 assets의 자동 동기화, 그리고 GitHub Actions를 통한 CI 흐름이 포함되어 있으며, 이는 Cloudflare Pages에 배포하기 위해 v* 태그를 사용합니다. 또한 macOS용 완전한 서명 및 공증 흐름(Developer ID 및 Mac App Store), iOS App Store 게시, Windows 설치 프로그램 생성을 문서화합니다.