About this project

ChordMini is an open-source music analysis application that combines automatic chord recognition, beat tracking, synchronized lyrics, guitar chord diagrams, a piano visualizer, and an experimental melody transcription feature. It accepts uploaded audio or YouTube videos and presents results through a clean web interface. The tool provides beat and chord analysis with a synchronized grid layout, Roman numeral analysis, key modulation signals, simplified chord notation, chord correction, and song segmentation overlays for structural sections such as intro, verse, chorus, bridge, and outro. Guitar diagrams use the @tombatossals/chords-db database for fingering patterns and slash-chord matching. The piano visualizer shows falling MIDI notes synchronized to chord playback and supports MIDI export for DAWs. An experimental melody transcription service called Sheet Sage can add an estimated melodic line with separate playback, caching, and MIDI export. A lead sheet view includes synchronized lyrics transcription and an AI assistant for contextual music analysis and translation. The project uses a Next.js frontend, a Python Flask backend, Firebase for storage and caching, and optional Docker services for SongFormer segmentation and Sheet Sage melody transcription. Backend models include Beat-Transformer and madmom for beat detection, and Chord-CNN-LSTM, BTC-SL, and BTC-PL for chord recognition. External services include Google Gemini for analysis and translation, yt-dlp for audio extraction, LRClib for lyrics synchronization, and OpenSheetMusicDisplay for sheet music rendering. Setup requires Node.js, Python 3.10, Docker for optional services, Git LFS for model checkpoints, and Firebase and Gemini API keys.