Playing classical musical scores on the guitar is kind of “hard art”, so Nootka was written to help with that. The application has an easy and intuitive interface to discover rules of the notation. The user may click a score to see where to play a note, or click a fingerboard of a guitar and see what the note it written on the score and its name. Also Nootka is able to detect played sounds, it has very accurate pitch detection algorithm – the user may play some melody and the app will show it in the score.
The next step of using Nootka is practicing reading the scores. The application will show a note or a random melody in a score, user will play it and his answer will be verified. All practicing process is registered, so user may see his results:
- what notes are often mistaken
- time it takes to prepare
- and more other statistics
Nootka can be also very useful for non guitarists. Ear training can be practiced by writing listened melody into the score (musical dictations)
There are a lot of configuration options to adjust everything to the users actual needs.
The application is written entirely in pure C++ with QtWidgets and QGraphicsView (score widget, guitar, charts).
Also QtPlugins are used, some of the application functionality is loaded on demand with the plugin system (settings dialog, charts dialog, first run wizard, online updater) The signal/slot mechanism of Qt can work with low latency audio threads. (It was suspected by some users but successfully proved to be the case) Sound in Nootka is managed through RtAudio class. It calls callback function from its thread (pThread instance) and from there Qt signal is emitted to start another thread (QThread) to process pitch detection. It works flawlessly even with 1,3 ms latency of Windows ASIO/ Linux JACK.
You can find the program at: http://nootka.sf.net
and the code on sourceforge: http://sourceforge.net/projects/nootka/Go back