TIAMIT

TIAMIT Is Another Musical Instrument Trainer


Project maintained by sebasgverde Hosted on GitHub Pages — Theme by mattgraham

TIAMIT, is an open source project to learn to read music with different instruments using gamefication. It is based in the idea of visual memory, the user will see the notes in the music sheet and the positions where these notes are in the instrument, a sound capture and analysis module will check the notes played giving a final score of the performance. It also has a database engine where different users can be ranked and see their performances.

Demo of Instruments:

Guitar

IMAGE ALT TEXT HERE

E Diatonic Harmonica

IMAGE ALT TEXT HERE

Alto C Ocarina

Note: My ocarina is not very professional (and not very tuned :p ) so it doesn’t get the notes very well but it gives an idea of how it looks.

IMAGE ALT TEXT HERE

General Demo

IMAGE ALT TEXT HERE

Adding a new instrument

Basically the procedure is:

Using the simple game without forms and databse

Just comment the line

TiamitMainFormControlador g = new TiamitMainFormControlador();

in Program.cs and use the commented lines as template to call directly the game

GestionarInterpretacionControlador g = new GestionarInterpretacionControlador(“/everyNoteE4E8.xml", "Guitar");

Deploying Database

Technical details:

Requirements:

Music and Audio Considerations

In this project C4 is considered as central c (Acoustical Society of America (ASA) ) for the frequency detector https://es.wikipedia.org/wiki/Do_(nota)

Guitar:

However for the xml notespostions files, this will depend on the intrument, so for example guitar which is a Low transposing instrument (sounding an octave lower than written) (https://en.wikipedia.org/wiki/List_of_musical_instruments_by_transposition) the C3 will have the postions of 5th string fret 3 and 6th string fret 8 (which correspond with the real pith of c3 130,81) but the position in the sheet will be the one of central C (C4)

String/Fret Note Frequency

Sixth Open E 82.407 1 F 87.307 2 F#/G 92.499 3 G 97.999 4 G#/A 103.826

Fifth Open A 110.000 1 A#/B 116.541 2 B 123.471 3 C 130.813 4 C#/D 138.591

Fourth Open D 146.832 1 D#/E 155.563 2 E 164.814 3 F 174.614 4 F#/G 184.997

Third Open G 195.998 1 G#/A 207.652 2 A 220.000 3 A#/B 233.082

Second Open B 246.942 1 C 261.626 (Middle C) 2 C#/D 277.183 3 D 293.665 4 D#/E 311.127

First Open E 329.628 1 F 349.228 2 F#/G 369.994 3 G 391.995 4 G#/A 415.305 5 A 440.000

The best way to test the positions xml for guitar is to use the musicxml called everyNoteE2E6.xml

E Diatonic Harmonica

For the diatonic Harmonica the positions in sheet corresponds exactly to the notes

action 1 2 3 4 5 6 7 8 9 10
blow E G# B E G# B E G# B E
draw F# B D♯ F# A C# D♯ F# A C#

Some helping positions in game

Y positions of fundamental notes in sheet

Guitar strings Y positions

Future work and/or Contributors Ideas: