Functional Ear Training for Musicians
For the support chat, please
#birdears channel on freenode (
chat.freenode.net/6697 - ssl).
birdears is a software written in Python 3 for ear training for musicians
(musical intelligence, transcribing music, composing). It is a clone of the
method used by Funcitional Ear Trainer app for Android.
It comes with four modes, or four kind of exercises, which are:
In resume, with the melodic mode two notes are played one after the other and you have to guess the interval; with the
harmonic mode, two notes are played simoutaneously (harmonically) and you should guess the interval.
With the dictation mode, more than 2 notes are played (ie., a melodic dictation) and you should tell what are the intervals between them.
With the instrumental mode, it is a like the dictation, but you will be expected to play the notes on your instrument, ie., birdears will not wait for a typed reply and you should prectice with your own judgement. The melody can be repeat any times and you can have as much time as you want to try it out.
What is musical ear training
this needs to be written. The method.
- pretty much configurable
- load from config file
- you can make your own presets
- can be used interactively (docs needed)
- can be used as a library (docs needed)
Installing the dependencies
birdears depends only on
python >= 3.5 and
sox (which should be installed by your distribution's package manager,
supposing you're using linux, and which provides the
sudo pacman -Syu sox python python-pip
pip3 install --user --upgrade --no-cache-dir birdears
You can choose to use a virtualenv to use birdears; this should give you an idea on how to setup one virtualenv.
You should first install virtualenv (for python3) using your distribution's package (supposing you're on linux), then on terminal:
virtualenv -p python3 ~/.venv # use the directory ~/.venv/ for the virtualenv source ~/.venv/bin/activate # activate the virtualenv; this should be done # every time you may want to run the software # installed here. pip3 install birdears # this will install the software birdears --help # and this will run it
Alternative installation: Cloning this Repository
This way you can have the mainline version of
birdears, which sometimes takes time to be updated to
soxfor your linux distribution.
Clone the repository:
ex. cloning it ro a directory named
git clone https://github.com/iacchus/birdears.git birdears-root
- Set the
PYTHONPATHenvironment variable to the directory you cloned
export PYTHONPATH='/home/YOUR_USERNAME/my-git-repos/birdears-root' python -m birdears
PYTHONPATH='/home/YOUR_USERNAME/my-git-repos/birdears-root' python -m birdears
You can also add an alias to your
.bashrc to simplify this
alias birdears="PYTHONPATH='/home/YOUR_USERNAME/my-git-repos/birdears-root' python -m birdears"
PYTHONPATH environment varible will make the birdears module be executed from that especified directory, having preemptiness even if there is already another version installed via
After installing just run:
The following keyboard diagrams should give you an idea on how the keybindings work. Please
note how the keys on the line from
z (unison) to
, (comma, octave) represent the notes
that are natural to the mode, and the line above represent the chromatics.
Also, for exercises with two octaves, the uppercased keys represent the second octave. For
z is unison,
, is the octave,
Z (uppercased) is the double octave. The same
for all the other intervals.
These are the keybindings for the Ionian (Major) Scale; black keys are the chromatic notes.
this is still being improved
Legend for the keys on the diagram above:
|Text Format||Scale Direction||Octave|
|blue (bold italic)||descending||second octave (shift or caps lock)|
|pink (bold)||descending||first octave|
|black/white (bold)||ascending||first octave|
|black (italic)||ascending||second octave (shift or caps lock)|
White keys are the diatonic notes, black keys are the chromatic ones.
Descendent mode are usable for exercises with
Chromatic keys are usable for exercises with
Second octave is usable for exercises with
-n 2 or
Those who want to contribute to this project can read CONTRIBUTING.md.
the screencast was recorded with a command similar to
COLUMNS=120 LINES=36 ttyrec seq2gif -s 2 -i ttyrecord -w 120 -h 36 -o use.gif
keyboard layouts were generated with http://www.keyboard-layout-editor.com/
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size birdears-0.3.3-py3-none-any.whl (311.3 kB)||File type Wheel||Python version py3||Upload date||Hashes View hashes|
|Filename, size birdears-0.3.3.tar.gz (273.1 kB)||File type Source||Python version None||Upload date||Hashes View hashes|