A tool to help musicians learn to recognize the roots (and other tones) of chords based on a technique adapted from Alain Benbassat
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
fluid-soundfont
test
.gitignore
LICENSE.txt
README.rst
TODO.txt
earthosechords.py
game_modes.py
game_structure.py
getch.py
musictools.py
settings.py

README.rst

EarThoseChords

EarThoseChords is a tool to help musicians learn to recognize the root of chords based on it's distance from the tonic of the key. The motivation for this code came from the success the author has had learning melodic dictation using Alain Benbassat's method as found in the Android App "Functional Ear Trainer" by Serhii Korchan. If you enjoy this software, please consider making a donation to Alain Benbassat on his website www.miles.be.

To Run

  1. Follow the instructions below to install any prerequisites needed.
  2. Download and unzip EarThoseChords.
  1. Open a terminal/command-prompt, navigate into the folder containing the "earthosechords.py" file, and enter the following command (without the $).

$ python earthosechords.py

Options

To change the sound font file (used to produce chord sounds), use the -f flag.

$ python earthosechords.py -f some_font.sf2

To see more options, type

$ man python earthosechords.py

Note: All options, with the exception of changing the sound font file, are also available through (and listed in) the text-based user interface.

Prerequisites

  • python 2.x
  • mingus
  • sequencer
  • fluidsynth

Setup

1. Get Python 2

Note: If you have a Mac or are running Linux, you already have Python 2.x. If you're on Windows, go download Python 2 and install it.

2. Install mingus and sequencer python modules

This is easy using pip (which typically comes with Python). Just open up a terminal/command-prompt and enter the following two commands (without the $).

$ pip install mingus

$ pip install sequencer

3. Install fluidsynth

This is easy through a linux/mac package manager.

[On Linux:]

$ sudo apt-get install fluidsynth

[On OS X:] (assuming you have Homebrew installed)

$ brew install fluidsynth

[On Windows:]

You can either compile FluidSynth yourself or use the binary installer (.exe) that is available for its GUI, Qsynth.

For Help

Contact me, AndyAPort@gmail.com

Licence

This code is available for reuse under the Apache License.