๐ŸŽธ ChordFlow

March 8, 2025 ยท View on GitHub

Logo

ChordFlow is a GUI Desktop app and 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.

Grab the latest release

โœจ Features

  • ๐ŸŽต 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.
  • ๐ŸŽฅ TUI demo
  • ๐ŸŽฅ Desktop GUI demo

๐Ÿ“ฆ Installation

  1. Build from Source
git clone https://github.com/timvancann/chordflow
cd chordflow
cargo build --release
  1. Grab the latest release

๐Ÿš€ Usage

TUI

./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

GUI

Install Dioxus CLI

cd chordflow_desktop
dx serve

๐Ÿ—๏ธ Roadmap

  • 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

๐Ÿค Contributing

Contributions are welcome! Feel free to submit issues and pull requests.

  1. Fork the repo
  2. Create a new branch (git checkout -b feature-name)
  3. Commit changes (git commit -m "Added cool feature")
  4. Push to branch (git push origin feature-name)
  5. Open a pull request