ChordFlow is a TUI (Terminal User Interface) tool designed to help guitarists/musicians practice improvisation and master the guitar neck by providing dynamic chord progressions with a built-in metronome.
- 🎵 Metronome with Custom Sounds – Supports SoundFont-based metronome ticks.
- 🔄 Random Chord Generation – Generate new chords every bar to improve improvisation skills.
- 📊 Visual Progress Bar – Displays the current beat and bar progress.
- 🎼 Real-Time Chord Display – Shows the current and upcoming chord.
- ⚙️ Customizability – Users can supply their own SoundFont for metronome ticks and chord sounds.
- 🖥️ Cross-Platform – Works on macOS, and Windows.
- Build from Source
git clone https://github.com/timvancann/chordflow
cd chordflow
cargo build --release
- Grab the latest release
./chordflow_tui --help
Usage: chordflow [OPTIONS]
Options:
--bpm <INT> BPM (Beats per minute) [default: 100]
-b, --bars-per-chord <INT> Number of bars per chord [default: 2]
-t, --ticks-per-bar <INT> Number of beats per bar [default: 4]
-s, --soundfont <SOUNDFONT> Soundfont file path
-h, --help Print help
Install Dioxus CLI
cd chordflow_desktop
dx serve
- Fix Linux release
- Add more scales (e.g. melodic minor)
- Better feedback and UI on custom progressions
- Allow dynamically update the number of beats per bar
- Use Dioxux to create a GUI native app
Contributions are welcome! Feel free to submit issues and pull requests.
- Fork the repo
- Create a new branch (git checkout -b feature-name)
- Commit changes (git commit -m "Added cool feature")
- Push to branch (git push origin feature-name)
- Open a pull request