프로젝트 소개
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 설치 프로그램 생성을 문서화합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.