lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ANN] LilyQuick 0.9beta - fast accurate Lilypond MIDI note entry for Lin


From: Vaughan McAlley
Subject: [ANN] LilyQuick 0.9beta - fast accurate Lilypond MIDI note entry for Linux
Date: Fri, 24 Feb 2017 23:49:19 +1100

Greetings,

I’m pleased to announce LilyQuick, a greatly improved descendant of
Finale’s Speedy Note Entry. The basic idea is to play notes on the
MIDI keyboard with your left hand, and use the numeric keypad to enter
the rhythms with your right hand. LilyQuick types the notes for you.
Being able to hear the notes as you enter them is great for accuracy,
and with a little practice you can enter music very quickly, even with
keyboard skills as mediocre as mine.

Installation *should* be as straightforward as installing a couple of
packages with apt-get or equivalent and typing make (see the INSTALL
file), and probably some configuration for your own needs.

https://github.com/palestrina/lily-q

If you like it, let me know if there’s anything you’d like it to be able to do.

Vaughan

README file follows:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

LILYQUICK

Welcome to LilyQuick, originally written as a replacement for Speedy
Note Entry when I moved from Finale to Lilypond, and then much
improved. The basic idea is to play notes on a MIDI keyboard with your
left hand, then while they are sounding, press a note on the numeric
keypad with your right hand corresponding to the duration. For
example, to get "f2", play an F on the keyboard, and press number 5 on
the numeric keypad. The advantage to this approach is excellent speed
and accuracy, and you get to hear the notes as they are being entered.

The default key layout is as follows: numeric keypad keys 0-6 produce
notes in conjunction with the MIDI keyboard.
6 - semibreve/whole
5 - minim/half
4 - crochet/quarter
1 - quaver/eighth
2 - semiquaver/sixteenth
3 - demisemiquaver/thirty-second
0 - last note value (useful with repeated dotted notes)

If useLongValues is set to true in LQconfig.lua, the 3 key changes to
\breve. This can be useful when entering early music.

7 adds whole bar rests such as R1* , then changes to data entry mode,
where the numeric keypad behaves as normal. Pressing enter leaves data
entry mode. The type of rest is from the variable fullRest in
LQconfig.lua. So to enter 15 bars of rest, you would type 7, 1, 5,
enter on the numeric keypad.

8 is for entering tuplets. The 8 key enters \tuplet, then enters data
entry mode for the numbers. The enter key leaves data entry mode and
adds the curly bracket " { ", ready for note entry. So for quintuplets
you would press 8, 5, /, 4, enter; which would type " \tuplet 5/4 {"

If you only ever use triplets, you may want to make tuplets into a
simple string such as:
  ["8"] = " \\tuplet 3/2 {",
(in LQkeyboardEvents.lua)

9 just adds a right curly bracket " }"

+ alternates between entering left and right slurs: " (" and " )"

= or / adds a tie "~"

. adds a dot to the rhythm

* changes the previous note enharmonically, for example cis to des.
Press again to cycle between possibilities.

The Enter key either exits data entry mode, or adds a bar check and
newline: " |\n"

F8/F15 exits LilyQuick. Because I don’t know anything about signals,
you need to press a key on your MIDI keyboard to exit properly.

F9/F16 changes the key sharpwards. LilyQuick will play a G to signify
one sharp, up to a C# to signify seven sharps. If you want sharps and
you’re getting flats, try changing the key.

F10/F17 changes the key flatwards

In C major, LilyQuick will type a chromatic scale as follows: c cis d
es e f fis g gis a bes b.

F11/F18 and F12/F19 (and any other numeric key) can be customized at
your pleasure.

IMPLEMENTATION

LilyQuick intercepts keystrokes from the computer keyboard. If they’re
not from the numeric keypad, they are sent straight on to the system.
If they are, they are sent to the Lua program, which can create vitual
keystrokes. At the moment it can send any character that can be typed
on the regular part of the keyboard using the shift key. This includes
all characters I regularly use for inputting Lilypond code. I don’t
know enough about non-English keyboard layouts, and whether people
would want to enter non-ASCII characters when entering notes in
Lilypond. It shouldn’t be too hard to add this feature if the need
arises.

What LilyQuick does with incoming keystrokes is defined in LQkeyboardEvents.lua

Intercepting keystrokes requires superuser privileges (sudo).

CUSTOMIZATION
LQconfig.lua contains a number of options you may wish to change, such
as absolute/relative note entry, MIDI output channel etc. See the
INSTALL file for more information on deviceName and MIDIKeyboardName.
The file LQkeyboardEvents.lua determines how incoming keystrokes are
handled, and is completely customizable. To type a simple string, just
include it (like the entry for "9"). Otherwise the entry should be a
table containing a function, and the parameter to send to it. To send
multiple parameters, put them in a table (like the function
Alternate).

TODO
- Allow make install to put the executable into some /bin directory.
Not sure how to tell it where the Lua scripts are yet.
- Easier time signature changing, either through the command line or
the numeric keypad.
- Tracking note values entered to allow automatic bar checks/new lines.
- Allow entry of higher UTF-8 characters and different keyboard layouts.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]