I've been trying to learn the electric bass 'right', i.e. by
practicing every day and learning to read music (which is much more
than I've managed in years of little-guitar noodling), following
some great lessons on studybass.com.
To combine bass practice and music reading I've been learning some
basic Lilypond, which is like LaTeX for musical notation. I absolutely
love Lilypond; it lets me work in a way very agreeable to me.
Lilypond lets you just create a plain text file with a very convenient
language for specifying the notes in the music. It can then generate
an output pdf - which looks really pretty - and midi file. So I can
just use vim to type out the music, and I have a macro to run
lilypond to generate the pdf (and zathura pdf viewer automatically
displays the updated pdf). The macro is literally just ':!lilypond *ly'.
I also have a macro to play the output midi file with fluidsynth.
Again this can be done just with ':!fluidsynth -ni *midi'. I've
been using the airfont soundfont (used to generate actual listenable
notes from their midi representation). In combination with the
excellent Transcribe! program for listening to songs carefully -
Transcribe! runs great under Linux too - I've been having a go at
understanding what's going on in Robert Glasper's 'I stand alone'
which I've always been curious about.
Another nice Lilypond feature is the ability to write (Guile) Scheme
inline. I've used this just to cut down on some (already very
tolerable) boilerplate used for writing bass exercises. Example
below:
\book {
\bookpart {
$(exercise-header "Plucking Exercises")
$(exercise "B-string muting" #{ \repeat unfold 4 {b,,4 r b r} #})
$(exercise "Skipping from B to A" #{ \repeat unfold 4 { b,,4 b a' a } #})
$(exercise "Skipping from E to D" #{ \repeat unfold 4 { e,4 e d' d } #})
% Other exercises here
}
\bookpart {
$(exercise-header "Fretting Exercises")
$(exercise "1-2-3-4 finger exercise" #{
a, as b c | d ds e f | g gs a as | c cs d ds |
g, gs a as | d, ds e f #})
$(exercise "1-3-2-4 finger exercise" #{
a, b as c | d e ds f | g a gs as | c d cs ds |
g, a gs as | d, e ds f | #})
% Other exercises here
}
% Other exercise groups here (in bookparts)
}