notedriller prints out a notename (e.g. A#, Bb, C, etc.) then pauses for a short amount of time to allow you to find the notes on the guitar fretboard, then prints out a picture of the fretboard with the fret positions of the note marked.
It also has a chord mode, invoked by the -c option, which will drill CAGED style chords.
You can control the speed at which it drills you with the --bpm (or just -b) option
Example:
$ ./notedriller -b 80
bpm = 80.000000
Bb............
|-------|------|------|------|------|######|------|-----|-----|-----|-----|-----|-----|----|----|----|----|####|----|---|---|---|---|---|
|-------|------|------|------|------|------|------|-----|-----|-----|#####|-----|-----|----|----|----|----|----|----|---|---|---|###|---|
|-------|------|######|------|------|------|------|-----|-----|-----|-----|-----|-----|----|####|----|----|----|----|---|---|---|---|---|
|-------|------|------|------|------|------|------|#####|-----|-----|-----|-----|-----|----|----|----|----|----|----|###|---|---|---|---|
|#######|------|------|------|------|------|------|-----|-----|-----|-----|-----|#####|----|----|----|----|----|----|---|---|---|---|---|
|-------|------|------|------|------|######|------|-----|-----|-----|-----|-----|-----|----|----|----|----|####|----|---|---|---|---|---|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
E ............
|-------|------|------|------|------|------|------|-----|-----|-----|-----|#####|-----|----|----|----|----|----|----|---|---|---|---|###|
|-------|------|------|------|######|------|------|-----|-----|-----|-----|-----|-----|----|----|----|####|----|----|---|---|---|---|---|
|-------|------|------|------|------|------|------|-----|#####|-----|-----|-----|-----|----|----|----|----|----|----|---|###|---|---|---|
|-------|######|------|------|------|------|------|-----|-----|-----|-----|-----|-----|####|----|----|----|----|----|---|---|---|---|---|
|-------|------|------|------|------|------|######|-----|-----|-----|-----|-----|-----|----|----|----|----|----|####|---|---|---|---|---|
|-------|------|------|------|------|------|------|-----|-----|-----|-----|#####|-----|----|----|----|----|----|----|---|---|---|---|###|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
And there is a single string mode as well:
$ ./notedriller -b 400 --single-string
Note drilling mode.
bpm = 400.000000
E on the B string............
|-------|------|------|------|######|------|------|-----|-----|-----|-----|-----|-----|----|----|----|####|----|----|---|---|---|---|---|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
D# on the A string............
|-------|------|------|------|------|######|------|-----|-----|-----|-----|-----|-----|----|----|----|----|####|----|---|---|---|---|---|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Gb on the G string............
|-------|------|------|------|------|------|------|-----|-----|-----|#####|-----|-----|----|----|----|----|----|----|---|---|---|###|---|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
C on the D string............
|-------|------|------|------|------|------|------|-----|-----|#####|-----|--
6A99
---|-----|----|----|----|----|----|----|---|---|###|---|---|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
And here is an example demonstrating chord mode:
$ ./notedriller -c -b 400
Chord drilling mode.
bpm = 400.000000
A-minor-shaped E minor............
|-------|------|------|------|------|------|######|-----|-----|-----|-----|-----|-----|----|----|----|----|----|####|---|---|---|---|---|
|-------|------|------|------|------|------|------|#####|-----|-----|-----|-----|-----|----|----|----|----|----|----|###|---|---|---|---|
|-------|------|------|------|------|------|------|-----|#####|-----|-----|-----|-----|----|----|----|----|----|----|---|###|---|---|---|
|-------|------|------|------|------|------|------|-----|#####|-----|-----|-----|-----|----|----|----|----|----|----|---|###|---|---|---|
|-------|------|------|------|------|------|######|-----|-----|-----|-----|-----|-----|----|----|----|----|----|####|---|---|---|---|---|
|-------|------|------|------|------|------|------|-----|-----|-----|-----|-----|-----|----|----|----|----|----|----|---|---|---|---|---|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
E-minor-shaped A minor............
|-------|------|------|------|######|------|------|-----|-----|-----|-----|-----|-----|----|----|----|####|----|----|---|---|---|---|---|
|-------|------|------|------|######|------|------|-----|-----|-----|-----|-----|-----|----|----|----|####|----|----|---|---|---|---|---|
|-------|------|------|------|######|------|------|-----|-----|-----|-----|-----|-----|----|----|----|####|----|----|---|---|---|---|---|
|-------|------|------|------|------|------|######|-----|-----|-----|-----|-----|-----|----|----|----|----|----|####|---|---|---|---|---|
|-------|------|------|------|------|------|######|-----|-----|-----|-----|-----|-----|----|----|----|----|----|####|---|---|---|---|---|
|-------|------|------|------|######|------|------|-----|-----|-----|-----|-----|-----|----|----|----|####|----|----|---|---|---|---|---|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24