A game for learning sheet music notation.
Connect your General Midi-enabled musical instrument of choice to your computer. Start Notewhacker and try to hit your instrument’s keys matching the notes scrolling on a staff on your screen.
2017-12-30, version 0.0.3 (See CHANGELOG.org)
Installing and running
Download the software (e.g. clone from git). Modify
*midi-device-pathname* points to the OSS-compatible device
file which corresponds your General Midi instrument.
Easiest way to get the software running is to use Quicklisp:
- Install Quicklisp
- Copy or move the
notewhackerdirectory into quicklisp’s local-projects directory.
- Run in Lisp repl
(ql:quickload "notewhacker"). This will automatically download and compile the dependencies and compile Notewhacker.
- Start the program with
- Reasonably recent Linux operating system (might work on other Unixes too)
- OpenGL 2.0 compatible graphics card and drivers
- Related libraries for Linux
- Clozure Common Lisp or SBCL implementation of Common Lisp
- General Midi compatible musical instrument or somesuch
Changing the visible staffs and midi channels
- To e.g. remove the staff with the f-clef (𝄢) modify file
gen-game-loopby removing the s-expression starting
- By default g-clef (𝄞) only matches events in midi channel 0 and
f-clef (𝄢) events in channel 1. To change both recognize all
channels, change in the aforementioned file and function the
:midi-channel 1both to
Keyboard control (mostly for testing or debugging)
- On (Finnish/Swedish) QWERTY keyboard key
Ccorresponds to C4 note,
Fto C4 sharp etc. When hit while holding left shift they generate midi channel 1 events, channel 0 otherwise. For testing purposes; game can’t be played reasonably using keyboard.
Short demo of version 0.0.1 at YouTube.
This project includes some parts of code derived from work of 3b
(see comments in files
derived code is published here with the original author’s consent.
The text font (
CrimsonText_Roman.ttf) was created by Sebastian
Kosch and licensed with SIL Open Font License and redistributed with
Notewhacker in its original version. It was downloaded from
Font Squirrel. See file
Font License.CrimsonText-Roman.ttf.txt for more information.
Finally, this software exists thanks to Lisp In Summer Projects contest.
- Resizeable window.
- More intelligence to target chord creation.
- User configurable note range.
- Reasonable chords. Now they are totally random within a certain predetermined range.
- Learning: generate target notes which player finds difficult more often.
- Key signature changes during game.
- Accordion-mode (Handling Stradella Bass System).
- Reading target notes from a midi file to enable practising a piece.
On some graphics cards all of the textures have a thin transparent line going across them. This happens e.g. on Nvidia Quadro NVS 4200M. The software was developed using Intel HD4000 graphics card, and VirtualBox with Windows host OS and Intel HD 530 graphics card, which don’t expose this bug.
Janne Nykopp <email@example.com>