An open API service indexing awesome lists of open source software.

https://github.com/mreintz/circleoffifths

Simple Circle of Fifths application showing chords in key, notes in chord, and suggested chord progressions for each key and mode.
https://github.com/mreintz/circleoffifths

chord-progressions circle-of-fifths gui guitar music-theory-apps python3 qt5

Last synced: 7 months ago
JSON representation

Simple Circle of Fifths application showing chords in key, notes in chord, and suggested chord progressions for each key and mode.

Awesome Lists containing this project

README

          

# circleOfFifths
Simple Circle of Fifths application. Works on both Windows and Linux.

NEW FEATURE! Right click to play chords, Ctrl+click to play notes, Shift-click to play arpeggios.

Requires:
- PyQt5==5.15.1
- musthe==1.0.0
- tinysoundfont==0.3.6 (if you want sound output support)
- PyAudio==0.2.14 (if you want sound output support)

PyAudio might have som requirements. On my Linux box I needed to install portaudio19-dev on the base system in order to compile the wheel for pyaudio.

Please note that you don't need to install anything if you run the binaries under Releases.

Uses the https://nwhitehead.github.io/tinysoundfont-pybind/guide.html library and default sound font.

Can be built into a single executable binary using:
- pyinstaller @ https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz
- pyinstaller-hooks-contrib==2020.9

`pyinstaller --clean --onefile --windowed --icon=note.ico .\CircleOfFifths.py`

The GUI and resource files are generated from the .ui and .qrc files created with Qt Designer, thus:

`pyuic5.exe .\CircleOfFifths.ui -o circle_ui.py`

`pyrcc5.exe .\CircleOfFifths.qrc -o CircleOfFifths_rc.py`

Chords in key of C Major

![Major](/1.png)

A Major - 3 sharps in key

![sharps](/2.png)

Modes

![modes](/3.png)

Notes in common chords

![notes in chord](/4.png)

Adom7 chord shown on Mixolydian scale

![notes in chord](/5.png)

Common chord progressions

![Chord progressions](/6.png)

Click on center to find key from chords

![Find key from chords](/7.png)