Author:

Dorian Quell
Supervisor:Prof. Gudrun Klinker
Advisor:Sven Liedtke
Submission Date:´15.12.2018

Abstract

Pick patterns are a big part of guitar pieces in every genre, learning and mastering them can turn any
chord progression into great fingerpicking music. By using a midi file of the pattern as a template, the
user sees how the pattern is played. Combined with unity’s audio analyser and a note recognition
algorithm, the microphone input is converted to the corresponding note. The comparison of the
microphone data with the midi file gives the user feedback while playing and learning the pattern.
Thus, the user can adjust and master the pattern without the need of a teacher.

Pick Pattern Trainer

The pick pattern trainer consists of two parts, the note recognition and the interactive note sheet.

By using the microphone input, here RockSmiths Real Tone cable was used to minimize noise, the algorithm detects a played note.
This can be used to compare the input data to a note sheet to find out if the user plays the correct note.

On the other hand is the note sheet. The sheet is generated from a MIDI file, containing the pattern or song.
The notes from the file are then placed on a map, showing the six strings of a guitar.
Each note is represented by a note block, the y-axis depends on the string,
the number at the beginning of the block shows which thread should be played and the length of the block represents the length of the note.
The notes move from the right screen to left, hitting a red line. At that moment the user should play the shown note.
If they play the right note, the block turns green and the user gets points.

To allow the user to customize the learning experience, they can adjust several parameters, like speed, repetitions, using a capo and so on.

                                                                                       

Future Work

The pick pattern trainer only does the basics to allow a user to learn patterns, there are still many things that can be improved or could be added.

Gamefication: The trainer is exactly what it sounds like, just a tool to assist the users training.
The whole project could easily be gamified and could be used in a learning game or something similar.
For example, all kinds of rhythm games could be played by using a real guitar instead of a controller.

Chords: Chords can't be recognized at the moment. Single notes work fine, but the used note recognition is not made to recognize multiple notes.
Obviously, chords are an important part of guitar pieces and that is why it would be nice to be able to recognize them too.

Small Adjustments: There are several small adjustments that could also be done.
Like checking if the user playes a note long enough or too long, adding different tunings and even just improving the feedback the user gets from using the trainer.

Documentation

Here is a link to my thesis if you want to get more information about some specific parts: Thesis

Download 

Link to the git repository for the full trainer: Pick Pattern Trainer

Link for just the note recognition as a unity package: Note-Recognition Package