Discussion:
How to connect Midi keyboard to Lilypond?
searchfgold6789
2013-09-25 18:20:50 UTC
Permalink
Hello,

I was looking for a way to create Lilypond files at a better speed than just
typing them by hand. Someone suggested I use my computer keyboard as a MIDI
keyboard. I didn't know Lilypond could do this, and looking online, I found
vmpk, rumor, and lyqi and compiled the latest versions of each with success.

Vmpk is the midi keyboard itself, and rumor and lyqi are the programs that
take input from a midi device and convert it into lilypond syntax, right?
Lyqi seems more advanced, somehow, than rumor... My question is, which
should I use, and how should I use it? I can start vmpk successfully, but
beyond that I am unsure on what to do. `lyqi` returns "command not found"
and `rumor` reports: "ALSA port connection error; do it manually using
`aconnect'".

`aconnect -i` says:

$ aconnect -i
client 0: 'System' [type=kernel]
0 'Timer '
1 'Announce '
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 128: 'VMPK Output' [type=user]
0 'VMPK Output '

... and `aconnect -o` says:

$ aconnect -o
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 129: 'VMPK Input' [type=user]
0 'VMPK Input '

I am not sure what I should connect to what. What is particularly confusing
to me is why "inputs" are listed under the list of what are supposed to be
"outputs".

Has anyone had success with getting Midi to Lilypond to work?

I appreciate your time,

- R.



--
View this message in context: http://lilypond.1069038.n5.nabble.com/How-to-connect-Midi-keyboard-to-Lilypond-tp151351.html
Sent from the User mailing list archive at Nabble.com.
Shane Brandes
2013-09-25 22:27:02 UTC
Permalink
Lilypond is a purely a typesetting program. There is no native way to
input midi to Lilypond. You will need a secondary program like Rumor
or Denemo to record your midi and then convert to xml and then to
lilypond. Rosegarden or Musescore also might assist in the process.
Most of Lilyponders seem to find it easier to input by text and more
accurate and oddly enough faster than fussing with midi.

best of luck,
Shane

On Wed, Sep 25, 2013 at 2:20 PM, searchfgold6789
Post by searchfgold6789
Hello,
I was looking for a way to create Lilypond files at a better speed than just
typing them by hand. Someone suggested I use my computer keyboard as a MIDI
keyboard. I didn't know Lilypond could do this, and looking online, I found
vmpk, rumor, and lyqi and compiled the latest versions of each with success.
Vmpk is the midi keyboard itself, and rumor and lyqi are the programs that
take input from a midi device and convert it into lilypond syntax, right?
Lyqi seems more advanced, somehow, than rumor... My question is, which
should I use, and how should I use it? I can start vmpk successfully, but
beyond that I am unsure on what to do. `lyqi` returns "command not found"
and `rumor` reports: "ALSA port connection error; do it manually using
`aconnect'".
$ aconnect -i
client 0: 'System' [type=kernel]
0 'Timer '
1 'Announce '
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 128: 'VMPK Output' [type=user]
0 'VMPK Output '
$ aconnect -o
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 129: 'VMPK Input' [type=user]
0 'VMPK Input '
I am not sure what I should connect to what. What is particularly confusing
to me is why "inputs" are listed under the list of what are supposed to be
"outputs".
Has anyone had success with getting Midi to Lilypond to work?
I appreciate your time,
- R.
--
View this message in context: http://lilypond.1069038.n5.nabble.com/How-to-connect-Midi-keyboard-to-Lilypond-tp151351.html
Sent from the User mailing list archive at Nabble.com.
_______________________________________________
lilypond-user mailing list
https://lists.gnu.org/mailman/listinfo/lilypond-user
Hans Aberg
2013-09-25 22:58:45 UTC
Permalink
Post by searchfgold6789
I was looking for a way to create Lilypond files at a better speed than just
typing them by hand. Someone suggested I use my computer keyboard as a MIDI
keyboard.
An article about using a plugin for jEdit.

http://www.musicbyandrew.ca/finale-lilypond-4.html
searchfgold6789
2013-09-26 00:17:05 UTC
Permalink
Thanks for the link.

I am still having trouble getting vmpk and the jedit plugin to "connect". I
open vmpk, open jedit to a blank document, and set the jedit plugin's
language to English. However, I am not sure how to proceed from there...
pressing keys in vmpk doesn't do anything.

The only "MIDI input" for the plugin is "Real Time Sequencer", and the only
input and output in vmpk is still "Midi Through:0".



--
View this message in context: http://lilypond.1069038.n5.nabble.com/How-to-connect-Midi-keyboard-to-Lilypond-tp151351p151359.html
Sent from the User mailing list archive at Nabble.com.
Cesar Penagos
2013-09-26 01:18:47 UTC
Permalink
There is a mode for emacs that make posible intruduce notes with a Midi
keyboard, you can dawnload from this page.
Emacs MIDI-input mode
http://utopia.knoware.nl/~hlub/uck/rlwrap/#midi_input



Atentamente;
César Penagos
Send lilypond-user mailing list submissions to
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.gnu.org/mailman/listinfo/lilypond-user
or, via email, send a message with subject or body 'help' to
You can reach the person managing the list at
When replying, please edit your Subject line so it is more specific
than "Re: Contents of lilypond-user digest..."
1. Re:programming error (Eluze)
2. Re:programming error (Thomas Morley)
3. Re:How to connect Midi keyboard to Lilypond? (Shane Brandes)
4. Re:How to connect Midi keyboard to Lilypond? (Hans Aberg)
5. Re:How to connect Midi keyboard to Lilypond? (searchfgold6789)
6. Re:programming error (MING TSANG)
----------------------------------------------------------------------
Message: 1
Date: Thu, 26 Sep 2013 00:13:58 +0200
Subject: Re: programming error
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
hi Ming Tsang
please provide a minimal + compiling example showing the problem.
thanks
Eluze
I encounter the following error and warning.
1. programming error: Impossible or ambiguous (de)crescendo in MIDI.
continuing, cross fingers
2. warning: LyricText has empty extent and non-empty stencil.
I have desk check and weren't able to resolve them. Any info pertain to
these is appreciated.
I attach the .ly file
Emanuel,
Ming
Starting lilypond-windows.exe 2.17.26 [how-beautiful-your-name.ly]...
Processing `C:/Users/Tsang/Dropbox/Lyndon/LiLy/how-beautiful-your-name/
how-beautiful-your-name.ly'
Parsing...
Interpreting music...
MIDI output to `how-beautiful-your-name-soprano.mid'...
Interpreting music...
programming error: Impossible or ambiguous (de)crescendo in MIDI.
continuing, cross fingers
programming error: Impossible or ambiguous (de)crescendo in MIDI.
continuing, cross fingers
MIDI output to `how-beautiful-your-name-alto.mid'...
Interpreting music...
programming error: Impossible or ambiguous (de)crescendo in MIDI.
continuing, cross fingers
programming error: Impossible or ambiguous (de)crescendo in MIDI.
continuing, cross fingers
MIDI output to `how-beautiful-your-name-tenor.mid'...
Interpreting music...
programming error: Impossible or ambiguous (de)crescendo in MIDI.
continuing, cross fingers
programming error: Impossible or ambiguous (de)crescendo in MIDI.
continuing, cross fingers
Interpreting music...[8][16][24][32][40][48][56]
Preprocessing graphical objects...
MIDI output to `how-beautiful-your-name-bass.mid'...
Finding the ideal number of pages...
Fitting music on 4 or 5 pages...
Drawing systems...
Layout output to `how-beautiful-your-name-bass.ps'...
Converting to `./how-beautiful-your-name-bass.pdf'...
Interpreting music...[8][16][24][32][40][48]
Preprocessing graphical objects...
warning: LyricText has empty extent and non-empty stencil.
warning: LyricText has empty extent and non-empty stencil.
_______________________________________________
lilypond-user mailing list
https://lists.gnu.org/mailman/listinfo/lilypond-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <
http://lists.gnu.org/archive/html/lilypond-user/attachments/20130926/d3a90f38/attachment.html
------------------------------
Message: 2
Date: Thu, 26 Sep 2013 00:25:52 +0200
Subject: Re: programming error
<CABsfGyXpxhi1paTjOTsfjuT3ZRjnORJVXs4f=
Content-Type: text/plain; charset=ISO-8859-1
hi Ming Tsang
please provide a minimal + compiling example showing the problem.
thanks
Eluze
+1
-Harm
------------------------------
Message: 3
Date: Wed, 25 Sep 2013 18:27:02 -0400
Subject: Re: How to connect Midi keyboard to Lilypond?
<
Content-Type: text/plain; charset=ISO-8859-1
Lilypond is a purely a typesetting program. There is no native way to
input midi to Lilypond. You will need a secondary program like Rumor
or Denemo to record your midi and then convert to xml and then to
lilypond. Rosegarden or Musescore also might assist in the process.
Most of Lilyponders seem to find it easier to input by text and more
accurate and oddly enough faster than fussing with midi.
best of luck,
Shane
On Wed, Sep 25, 2013 at 2:20 PM, searchfgold6789
Hello,
I was looking for a way to create Lilypond files at a better speed than
just
typing them by hand. Someone suggested I use my computer keyboard as a
MIDI
keyboard. I didn't know Lilypond could do this, and looking online, I
found
vmpk, rumor, and lyqi and compiled the latest versions of each with
success.
Vmpk is the midi keyboard itself, and rumor and lyqi are the programs
that
take input from a midi device and convert it into lilypond syntax, right?
Lyqi seems more advanced, somehow, than rumor... My question is, which
should I use, and how should I use it? I can start vmpk successfully, but
beyond that I am unsure on what to do. `lyqi` returns "command not found"
and `rumor` reports: "ALSA port connection error; do it manually using
`aconnect'".
$ aconnect -i
client 0: 'System' [type=kernel]
0 'Timer '
1 'Announce '
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 128: 'VMPK Output' [type=user]
0 'VMPK Output '
$ aconnect -o
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 129: 'VMPK Input' [type=user]
0 'VMPK Input '
I am not sure what I should connect to what. What is particularly
confusing
to me is why "inputs" are listed under the list of what are supposed to
be
"outputs".
Has anyone had success with getting Midi to Lilypond to work?
I appreciate your time,
- R.
--
http://lilypond.1069038.n5.nabble.com/How-to-connect-Midi-keyboard-to-Lilypond-tp151351.html
Sent from the User mailing list archive at Nabble.com.
_______________________________________________
lilypond-user mailing list
https://lists.gnu.org/mailman/listinfo/lilypond-user
------------------------------
Message: 4
Date: Thu, 26 Sep 2013 00:58:45 +0200
Subject: Re: How to connect Midi keyboard to Lilypond?
Content-Type: text/plain; charset=us-ascii
I was looking for a way to create Lilypond files at a better speed than
just
typing them by hand. Someone suggested I use my computer keyboard as a
MIDI
keyboard.
An article about using a plugin for jEdit.
http://www.musicbyandrew.ca/finale-lilypond-4.html
------------------------------
Message: 5
Date: Wed, 25 Sep 2013 17:17:05 -0700 (PDT)
Subject: Re: How to connect Midi keyboard to Lilypond?
Content-Type: text/plain; charset=us-ascii
Thanks for the link.
I am still having trouble getting vmpk and the jedit plugin to "connect". I
open vmpk, open jedit to a blank document, and set the jedit plugin's
language to English. However, I am not sure how to proceed from there...
pressing keys in vmpk doesn't do anything.
The only "MIDI input" for the plugin is "Real Time Sequencer", and the only
input and output in vmpk is still "Midi Through:0".
--
http://lilypond.1069038.n5.nabble.com/How-to-connect-Midi-keyboard-to-Lilypond-tp151351p151359.html
Sent from the User mailing list archive at Nabble.com.
------------------------------
Message: 6
Date: Wed, 25 Sep 2013 17:19:40 -0700 (PDT)
Subject: Re: programming error
Content-Type: text/plain; charset="iso-8859-1"
Sorry, I attached a .ly file with \include private files. ?I remove those
and the following can compile. ?
________________________________
Sent: Wednesday, September 25, 2013 6:02:13 PM
Subject: programming error
I encounter the following error and warning.?
1. ?programming error: Impossible or ambiguous (de)crescendo in MIDI.
? ? ? continuing, cross fingers
2. ? ?warning: LyricText has empty extent and non-empty stencil.
I have desk check and weren't able to resolve them. ?Any info pertain to
these is appreciated.
I attach the .ly file
Emanuel,
Ming?
Starting lilypond-windows.exe 2.17.26 [how-beautiful-your-name.ly]...
Processing `C:/Users/Tsang/Dropbox/Lyndon/LiLy/how-beautiful-your-name/
how-beautiful-your-name.ly'
Parsing...
Interpreting music...
MIDI output to `how-beautiful-your-name-soprano.mid'...
Interpreting music...
programming error: Impossible or ambiguous (de)crescendo in MIDI.
continuing, cross fingers
programming error: Impossible or ambiguous (de)crescendo in MIDI.
continuing, cross fingers
MIDI output to `how-beautiful-your-name-alto.mid'...
Interpreting music...
programming error: Impossible or ambiguous (de)crescendo in MIDI.
continuing, cross fingers
programming error: Impossible or ambiguous (de)crescendo in MIDI.
continuing, cross fingers
MIDI output to `how-beautiful-your-name-tenor.mid'...
Interpreting music...
programming error: Impossible or ambiguous (de)crescendo in MIDI.
continuing, cross fingers
programming error: Impossible or ambiguous (de)crescendo in MIDI.
continuing, cross fingers
Interpreting music...[8][16][24][32][40][48][56]
Preprocessing graphical objects...
MIDI output to `how-beautiful-your-name-bass.mid'...
Finding the ideal number of pages...
Fitting music on 4 or 5 pages...
Drawing systems...
Layout output to `how-beautiful-your-name-bass.ps'...
Converting to `./how-beautiful-your-name-bass.pdf'...
Interpreting music...[8][16][24][32][40][48]
Preprocessing graphical objects...
warning: LyricText has empty extent and non-empty stencil.
warning: LyricText has empty extent and non-empty stencil.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <
http://lists.gnu.org/archive/html/lilypond-user/attachments/20130925/60d0744e/attachment.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: how-beautiful-your-nameT.ly
Type: text/lilypond-source
Size: 15765 bytes
Desc: not available
URL: <
http://lists.gnu.org/archive/html/lilypond-user/attachments/20130925/60d0744e/attachment.bin
------------------------------
_______________________________________________
lilypond-user mailing list
https://lists.gnu.org/mailman/listinfo/lilypond-user
End of lilypond-user Digest, Vol 130, Issue 162
***********************************************
Richard Shann
2013-09-26 04:36:02 UTC
Permalink
You may need to know about Denemo and Frescobaldi which both allow MIDI
input and generate LilyPond output.
Richard
Post by searchfgold6789
Hello,
I was looking for a way to create Lilypond files at a better speed than just
typing them by hand. Someone suggested I use my computer keyboard as a MIDI
keyboard. I didn't know Lilypond could do this, and looking online, I found
vmpk, rumor, and lyqi and compiled the latest versions of each with success.
Vmpk is the midi keyboard itself, and rumor and lyqi are the programs that
take input from a midi device and convert it into lilypond syntax, right?
Lyqi seems more advanced, somehow, than rumor... My question is, which
should I use, and how should I use it? I can start vmpk successfully, but
beyond that I am unsure on what to do. `lyqi` returns "command not found"
and `rumor` reports: "ALSA port connection error; do it manually using
`aconnect'".
$ aconnect -i
client 0: 'System' [type=kernel]
0 'Timer '
1 'Announce '
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 128: 'VMPK Output' [type=user]
0 'VMPK Output '
$ aconnect -o
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 129: 'VMPK Input' [type=user]
0 'VMPK Input '
I am not sure what I should connect to what. What is particularly confusing
to me is why "inputs" are listed under the list of what are supposed to be
"outputs".
Has anyone had success with getting Midi to Lilypond to work?
I appreciate your time,
- R.
--
View this message in context: http://lilypond.1069038.n5.nabble.com/How-to-connect-Midi-keyboard-to-Lilypond-tp151351.html
Sent from the User mailing list archive at Nabble.com.
_______________________________________________
lilypond-user mailing list
https://lists.gnu.org/mailman/listinfo/lilypond-user
Martin Tarenskeen
2013-09-26 06:01:30 UTC
Permalink
Post by Richard Shann
You may need to know about Denemo and Frescobaldi which both allow MIDI
input and generate LilyPond output.
Richard
MIDI input (using rumor) in Frescobaldi was dumped in version 2.x
--
MT
David Kastrup
2013-09-26 05:16:02 UTC
Permalink
Post by searchfgold6789
Hello,
I was looking for a way to create Lilypond files at a better speed than just
typing them by hand. Someone suggested I use my computer keyboard as a MIDI
keyboard. I didn't know Lilypond could do this, and looking online, I found
vmpk, rumor, and lyqi and compiled the latest versions of each with success.
Vmpk is the midi keyboard itself, and rumor and lyqi are the programs that
take input from a midi device and convert it into lilypond syntax, right?
Lyqi seems more advanced, somehow, than rumor... My question is, which
should I use, and how should I use it?
It's been some time since I last tried, but the basic answer I arrived
at for myself was "don't bother". The tools are not good enough right
now to save time.
--
David Kastrup
James Harkins
2013-09-26 09:32:38 UTC
Permalink
Post by David Kastrup
It's been some time since I last tried, but the basic answer I arrived
at for myself was "don't bother". The tools are not good enough right
now to save time.
I have to agree with David here.

When I first started looking at LilyPond, one of my first questions was
about MIDI input. But then I realized:

- I would have used MIDI for step input (hold a note, press a key for the
rhythmic value). So, which is faster? Reaching for another keyboard to hold
down, say, F and type 2, or just to type "f2" on one keyboard? Seemed to me
that it would be faster to stick with one keyboard (the computer keyboard).

- Being dependent on a MIDI keyboard for input would mean that I would find
it harder to enter music when I didn't have the MIDI keyboard. For instance,
last spring, I needed to hack up a very quick Amazing Grace setting for
flute and bassoon. So I jotted a few notes on paper, then went to a cafe
typed into LilyPond for, oh, 15-20 minutes or so (including slurs and other
expressive marks) and I could e-mail the score, using only my laptop, no
extra hardware.

- With a MIDI keyboard, I would be back to the Finale hell of correcting
enharmonic misspellings. Typing LilyPond code directly, I just write the
enharmonic that I want. If I need D-double-flat, I just write dff (using
English note names -- deses in Dutch). With MIDI, it would transcribe C
natural first, and then I would have to fix it. That's not exactly a
timesaver. (This touches on one of the big reasons why I like LilyPond much
better. The wysiwyg Finale approach is to make a lot of layout mistakes by
default and allow the user to correct them. The LilyPond approach is to make
fewer layout mistakes to begin with.)

In short, I was asking about MIDI note input because that's what I was used
to in Finale. It didn't take too long to figure out that it was faster and
easier to just type the code.

hjh
David Kastrup
2013-09-26 09:52:06 UTC
Permalink
Post by James Harkins
Post by David Kastrup
It's been some time since I last tried, but the basic answer I arrived
at for myself was "don't bother". The tools are not good enough right
now to save time.
I have to agree with David here.
When I first started looking at LilyPond, one of my first questions was
- I would have used MIDI for step input (hold a note, press a key for
the rhythmic value). So, which is faster? Reaching for another
keyboard to hold down, say, F and type 2, or just to type "f2" on one
keyboard? Seemed to me that it would be faster to stick with one
keyboard (the computer keyboard).
Well, add to that reasonably good rhythm detection so that you basically
just need to put in the bar checks and your input tool corrects its
conceptions accordingly. Or make a completely separate input pass just
for entering the durations. Or combine them, and update the guesses
based on the specified durations.

There are a number of ways in which one can imagine an actually helpful
way of working with a separate Midi input, or even with abusing the
computer keyboard itself as a Midi keyboard approximation.

And then there is the question of how convenient your editing tools make
it to pull apart something like a Midi performance of a piano concerto
into the kind of voicing you need for making LilyPond happy with the
music. That's not the ordinary cut&paste support. If I have something
like wrongly chorded expressions, how to cut out selected notes in
chords and then paste them out into a separate voice?

That's something that Emacs' LilyPond mode could conceivably be extended
to do with a reasonable degree of comfort, and of course it's a nice
challenge for something like Frescobaldi as well. It's not strictly
related to Midi, but this sort of editing task is more likely to occur
with Midi-based workflows.

Anway, my point is: the currently available tools are not good enough
right now to save time.

I'm not saying that this means the idea is doomed. I think that would
be a sour grapes stance. But at the current point of time, the only
convincing reason I see for working with Midi input is if you plan on
improving the available tools, and in that case, full speed ahead!
--
David Kastrup
Gabriel Striewe
2013-09-26 13:20:33 UTC
Permalink
Post by David Kastrup
Anway, my point is: the currently available tools are not good enough
right now to save time.
I'm not saying that this means the idea is doomed. I think that would
be a sour grapes stance. But at the current point of time, the only
convincing reason I see for working with Midi input is if you plan on
improving the available tools, and in that case, full speed ahead!
--
David Kastrup
Hello,

on 2012' Musikmesse in Frankfurt, I came across this:

http://www.arpegemusic.com/mtk.htm

a keyboard used to input events into a software called "Pizzicato", a
music notation software.

It can be used with Finale and Sibelius, via MusicXML export.

Has anybody such a keyboard available. It would probably only be a
matter of finding out x event codes for each key of the keyboard, and
mapping them to lilypond, probably via an abstraction layer, so that
it could be used with lilypond, frescobaldi and any other open source
notation software.

Unfortunately, the keyboard isn't sold separately from the software.

Regards,

Gabriel
Richard Shann
2013-09-26 16:56:26 UTC
Permalink
Post by James Harkins
Post by James Harkins
Post by David Kastrup
It's been some time since I last tried, but the basic answer I arrived
at for myself was "don't bother". The tools are not good enough right
now to save time.
I have to agree with David here.
When I first started looking at LilyPond, one of my first questions was
- I would have used MIDI for step input (hold a note, press a key for
the rhythmic value). So, which is faster? Reaching for another
keyboard to hold down, say, F and type 2, or just to type "f2" on one
keyboard?
I think the common technique for users of Finale et al is to use one
hand to change prevailing duration on the pc-keyboard and the other to
play pitches on the MIDI keyboard. This is based on the observation that
the pitch usually changes more often than the duration.
Post by James Harkins
Seemed to me that it would be faster to stick with one
Post by James Harkins
keyboard (the computer keyboard).
Well, add to that reasonably good rhythm detection so that you basically
just need to put in the bar checks and your input tool corrects its
conceptions accordingly. Or make a completely separate input pass just
for entering the durations.
That is the method I developed for Denemo.
Post by James Harkins
Or combine them, and update the guesses
based on the specified durations.
There are a number of ways in which one can imagine an actually helpful
way of working with a separate Midi input, or even with abusing the
computer keyboard itself as a Midi keyboard approximation.
And then there is the question of how convenient your editing tools make
it to pull apart something like a Midi performance of a piano concerto
into the kind of voicing you need for making LilyPond happy with the
music. That's not the ordinary cut&paste support. If I have something
like wrongly chorded expressions, how to cut out selected notes in
chords and then paste them out into a separate voice?
Curiously there is a command in Denemo for splitting apart a piece
written as chords into voices. But your point is well-taken, more time
is spent on getting the voices right in polyphonic keyboard music than
in the raw note entry; the advantage of a MIDI keyboard is marginal.
Post by James Harkins
That's something that Emacs' LilyPond mode could conceivably be extended
to do with a reasonable degree of comfort, and of course it's a nice
challenge for something like Frescobaldi as well. It's not strictly
related to Midi, but this sort of editing task is more likely to occur
with Midi-based workflows.
Anway, my point is: the currently available tools are not good enough
right now to save time.
This very much depends on the sort of music you are working with. Try
typing in the LilyPond syntax for the Vivaldi sonata movement
(https://vimeo.com/62188678) that was generated in 10 mins using Denemo
working straight from an original print and you will be convinced (I
hope).

Richard
David Kastrup
2013-09-26 17:16:05 UTC
Permalink
Post by Richard Shann
Post by David Kastrup
Anway, my point is: the currently available tools are not good enough
right now to save time.
This very much depends on the sort of music you are working with. Try
typing in the LilyPond syntax for the Vivaldi sonata movement
(https://vimeo.com/62188678) that was generated in 10 mins using
Denemo working straight from an original print and you will be
convinced (I hope).
I haven't tried Denemo, certainly not in the last few years. I probably
need to do so. It's probably impolite to use it just as a glorified
Midi input tool, but if it does that job better than, say, Rosegarden...

Now here's the deal: my main Midi device is a rather simplistic midified
accordion. Accordions have chord buttons and bass buttons. The chord
buttons deliver three-note chords, the bass buttons single-note bass
notes. The actual chords are composed from 12 different notes (only a
single octave) of which three are selected by a mechanical lever system.
If you tell the Midi electronics to be "chord-accurate", it will only
report a chord note when at least three levers have been detected. So
unless you use more than one chord button at a time (actually perfectly
feasible, for example for getting Cmaj7 you'd use Cmaj+Amin), the chords
will be delivered and released perfectly simultaneously.

So if I'm doing the full deal, I'll be getting material on three
channels (bass, chords, melody) where the chords at least are nicely
synchronized.

Is that something that Denemo is supposed to be able to deal with well?
--
David Kastrup
Richard Shann
2013-09-26 17:57:21 UTC
Permalink
Post by David Kastrup
Post by Richard Shann
Post by David Kastrup
Anway, my point is: the currently available tools are not good enough
right now to save time.
This very much depends on the sort of music you are working with. Try
typing in the LilyPond syntax for the Vivaldi sonata movement
(https://vimeo.com/62188678) that was generated in 10 mins using
Denemo working straight from an original print and you will be
convinced (I hope).
I haven't tried Denemo, certainly not in the last few years. I probably
need to do so. It's probably impolite to use it just as a glorified
Midi input tool, but if it does that job better than, say, Rosegarden...
Now here's the deal: my main Midi device is a rather simplistic midified
accordion. Accordions have chord buttons and bass buttons. The chord
buttons deliver three-note chords, the bass buttons single-note bass
notes. The actual chords are composed from 12 different notes (only a
single octave) of which three are selected by a mechanical lever system.
If you tell the Midi electronics to be "chord-accurate", it will only
report a chord note when at least three levers have been detected. So
unless you use more than one chord button at a time (actually perfectly
feasible, for example for getting Cmaj7 you'd use Cmaj+Amin), the chords
will be delivered and released perfectly simultaneously.
So if I'm doing the full deal, I'll be getting material on three
channels (bass, chords, melody) where the chords at least are nicely
synchronized.
Is that something that Denemo is supposed to be able to deal with well?
Denemo completely ignores the time-stamps on the midi input stream. The
midi events are serialized into a buffer by a separate thread, and
Denemo just picks them up in the order they appear in the queue. If you
want to generate a LilyPond chord you need to hold the Alt key down or
press the sustain pedal. And then, as with all other rhythmic matters,
you can play the chord as raggedly or as simultaneously as you like.

Richard
David Kastrup
2013-09-26 18:28:09 UTC
Permalink
Post by Richard Shann
Denemo completely ignores the time-stamps on the midi input
stream. The midi events are serialized into a buffer by a separate
thread, and Denemo just picks them up in the order they appear in the
queue. If you want to generate a LilyPond chord you need to hold the
Alt key down or press the sustain pedal. And then, as with all other
rhythmic matters, you can play the chord as raggedly or as
simultaneously as you like.
Uh, that does not sound like it would make entry with the chord buttons
fun. At one point of time I'll need to take a look at making Emacs
smarter.
--
David Kastrup
Richard Shann
2013-09-27 08:11:35 UTC
Permalink
Post by David Kastrup
Post by Richard Shann
Denemo completely ignores the time-stamps on the midi input
stream. The midi events are serialized into a buffer by a separate
thread, and Denemo just picks them up in the order they appear in the
queue. If you want to generate a LilyPond chord you need to hold the
Alt key down or press the sustain pedal. And then, as with all other
rhythmic matters, you can play the chord as raggedly or as
simultaneously as you like.
Uh, that does not sound like it would make entry with the chord buttons
fun.
Denemo has a command to fetch incoming MIDI events and filter them (with
a scheme script) - this would be too slow for fast music but is quite
usable for entering music at a sedate pace. There is a demo showing
creating chords over a baseline done by running such a MIDI filter
inside Denemo - in this case I just played the base note and the
chord(s) and the scheme script sorted out everything else. (See
https://vimeo.com/62426412 where you can hear the delays as the -
interpreted - scheme sorts out what duration to assign to the chords)

Richard
Johan Vromans
2013-09-26 13:41:35 UTC
Permalink
Post by James Harkins
I have to agree with David here.
When I first started looking at LilyPond, one of my first questions was
... this is all based on using a MIDI keyboard as the only means of
input.

Personally I'd like to use it to set up a rhythmic pattern and fill in
the notes (pitches) later with the text editor. Actually I could do this
with a timing program that uses keystrokes from the standard keyboard...
does such a tool exist?

-- Johan
Richard Shann
2013-09-26 17:03:27 UTC
Permalink
Post by Johan Vromans
Post by James Harkins
I have to agree with David here.
When I first started looking at LilyPond, one of my first questions was
... this is all based on using a MIDI keyboard as the only means of
input.
Personally I'd like to use it to set up a rhythmic pattern and fill in
the notes (pitches) later with the text editor. Actually I could do this
with a timing program that uses keystrokes from the standard keyboard...
does such a tool exist?
Not as far as I know: I think it could be done using a neural net and
training it to recognize the style of music output that you intend when
you play. (The naive "output a note of the duration I play" simply does
not work). But there would still be a lot of ambiguity except for very
simple music, and correcting errors is enormously more expensive than
inputting the correct thing first off.

Richard
Richard Shann
2013-09-26 16:09:04 UTC
Permalink
Post by James Harkins
- With a MIDI keyboard, I would be back to the Finale hell of
correcting
enharmonic misspellings.
Enharmonic misspellings are a thing of the past if you use Denemo to
play in the pitches from a MIDI keyboard. Firstly, because the set of
enharmonics are adjusted to suit the keysignature (and can be shifted
further flatwise/sharpwise to suit modulations) and secondly because
there is a very simple pitch-spelling algorithm in Denemo: augmented and
diminished intervals are played in a different channel, so that you are
alerted if you enter C followed by D-sharp instead of C followed by
E-flat - it sounds on a different instrument.
Since introducing this I have had zero enharmonic misspellings in my
transcriptions. But this might not be suitable for some sorts of music,
I confess.

Richard
James Harkins
2013-09-27 05:41:42 UTC
Permalink
Post by Richard Shann
Since introducing this I have had zero enharmonic misspellings in my
transcriptions. But this might not be suitable for some sorts of music,
I confess.
My music only seldom follows common practice tonality, so I'd have to doubt
that Denemo would be any more effective for me than typing the code. But
sure, what you're describing would easily beat Finale.

hjh
Richard Shann
2013-09-27 08:04:36 UTC
Permalink
Post by Richard Shann
Post by Richard Shann
Since introducing this I have had zero enharmonic misspellings in my
transcriptions. But this might not be suitable for some sorts of
music,
Post by Richard Shann
I confess.
My music only seldom follows common practice tonality,
The built-in support is for any range (e.g. E-flat to G-sharp, or D to
F-double-sharp), with the modulation controller on the MIDI keyboard
changing the range sharper or flatter. So if you wanted some assorted
collection of sharps and flats (E-flat with A-flat but F-sharp ...) you
would need a bit of scheme to convert the notes as they arrive, which is
quite do-able - there are examples of this sort of MIDI filter in
Denemo.

Richard
Post by Richard Shann
so I'd have to doubt that Denemo would be any more effective for me
than typing the code. But sure, what you're describing would easily
beat Finale.
hjh
Richard Shann
2013-09-27 08:14:17 UTC
Permalink
Post by Richard Shann
So if you wanted some assorted
collection of sharps and flats (E-flat with A-flat but F-sharp ...)
whoops! it would have to be weirder than that, say D-Sharp with
A-flat ...
Richard
James Harkins
2013-09-27 09:00:35 UTC
Permalink
Post by Richard Shann
Post by James Harkins
My music only seldom follows common practice tonality,
The built-in support is for any range (e.g. E-flat to G-sharp, or D to
F-double-sharp), with the modulation controller on the MIDI keyboard
changing the range sharper or flatter. So if you wanted some assorted
collection of sharps and flats (E-flat with A-flat but F-sharp ...) you
would need a bit of scheme to convert the notes as they arrive, which is
quite do-able - there are examples of this sort of MIDI filter in
Denemo.
Sure, that may be of interest to the other people on the thread who *are* looking for MIDI input. For myself, I prefer working with the code directly, and I will likely continue to prefer the code even if there's the option of super-amazingly-accurate MIDI input.

That's the great thing about LP's more open design. In Finale, basically your only choices are speedy note entry (meaningless without a MIDI keyboard, and really poor handling of enharmonics) or simple note entry (mouse only, and I sincerely hope I'm never forced to do it that way for any length of time). In LP, I can do it by code if I like (and I do), AND user-developers like you can devise alternate input methods.

hjh
David Kastrup
2013-09-27 09:38:08 UTC
Permalink
Post by James Harkins
Post by Richard Shann
Post by James Harkins
My music only seldom follows common practice tonality,
The built-in support is for any range (e.g. E-flat to G-sharp, or D to
F-double-sharp), with the modulation controller on the MIDI keyboard
changing the range sharper or flatter. So if you wanted some assorted
collection of sharps and flats (E-flat with A-flat but F-sharp ...) you
would need a bit of scheme to convert the notes as they arrive, which is
quite do-able - there are examples of this sort of MIDI filter in
Denemo.
Sure, that may be of interest to the other people on the thread who
*are* looking for MIDI input. For myself, I prefer working with the
code directly, and I will likely continue to prefer the code even if
there's the option of super-amazingly-accurate MIDI input.
I would think that it could save time typing in existing scores, in
particular stuff you are used to playing. It does not preclude you from
working with the code directly afterwards.
Post by James Harkins
That's the great thing about LP's more open design.
It's not really that it's more open but rather that parts of it are more
direct.

If you take a look at the philosophies behind string instruments,
several flavors have survived:

We have bowed instruments. They have converged to unfretted instruments
with few courses (mostly four), the focus being on their "cash register"
or "money notes", namely excellent and continuous control over
articulation, pitch and volume in monophonic settings.

Handplucked instruments tend to be fretted and equipped with somewhat
more courses, the frets required for better sustenance and sound quality
of principally decaying notes, and simplifying polyphonic play.

With keyboard string instruments, quill-plucked instruments are mostly
dead, and so are stopped keyboard instruments (like the fretted
clavichord). The dominant survivor is the hammered-action pianoforte
which offers reasonably uncomplicated polyphony and per-note control of
the initial dynamic.

So even if there are common ancestors like the hurdy gurdy,
specialization on particular strengths has lead the instrument families
apart into different specimens.

In a similar vein, GUI tool philosophies and type entry methods have
diverged to a degree where there are some workflows that you don't
_want_ to be doing with a particular tool.

A tool like Denemo does not have what I would call a "closed" design,
but it has a different philosophy.
--
David Kastrup
Richard Shann
2013-09-27 13:24:47 UTC
Permalink
Post by David Kastrup
Post by James Harkins
Sure, that may be of interest to the other people on the thread who
*are* looking for MIDI input. For myself, I prefer working with the
code directly, and I will likely continue to prefer the code even if
there's the option of super-amazingly-accurate MIDI input.
I would think that it could save time typing in existing scores, in
particular stuff you are used to playing. It does not preclude you from
working with the code directly afterwards.
Indeed if you put

(while (d-MoveCursorRight)
(format #t "~A " (d-GetLilyPond)))

into Denemo's scheme command line interpreter you will get the LilyPond
code for all the music from the current staff from after the cursor
splurged out on the terminal. I had better put that into a command
piping the output to a file for those who would wish for the raw
LilyPond music for inclusion in a hand-written template system.

Richard
Laura Conrad
2013-09-26 16:46:55 UTC
Permalink
David> It's been some time since I last tried, but the basic answer
David> I arrived at for myself was "don't bother". The tools are
David> not good enough right now to save time.

For me, MIDI input does save time. I cheat and use the numeric keypad
to input durations, but I get the note names and octavations by playing
the notes on a MIDI keyboard.

Just this week I did a piece from the alphanumeric keyboard, because the
scan I was transcribing from was bad enough that I needed a complicated
setup with a magnifying sheet propped over the paper, and so it wasn't
as easy to reach the MIDI keyboard as with my normal setup. And I found
that the input time was about the same (adjusting for the extra reading
time with the bad scan), but the editing time (especially fixing
octavation errors) was much longer with the computer keyboard. I'm sure
it's possible to practice and get better with entering the octaves where
necessary, but I also spent enough time practicing scales on the piano
that I'm not at all sure I'll ever be able to type them as fast as I can
play them.

I use <http://utopia.knoware.nl/~hlub/uck/software>, which I think has
been mentioned elsewhere in the thread.

I agree that the tools could be improved a lot. If anyone who knows
LINUX audio ever feels like developing something like midi-input that
will run under jack, so that I could hear the notes as I play them, I
would appreciate it.
--
Laura (mailto:***@laymusic.org, twitter: @serpentplayer)
(617) 661-8097 233 Broadway, Cambridge, MA 02139
http://www.laymusic.org/ http://www.serpentpublications.org

The family lived so frugally that his mother, Dora, made him shirts
out of scraps of fabric. Once she made herself a skirt out of the back
of the suit that her younger brother was buried in. She didn't want
the material to go to waste.

Michael Kimmelman, in the NY Times obituary of Robert Rauschenberg
Johan Vromans
2013-09-27 06:27:23 UTC
Permalink
Post by Laura Conrad
I use <http://utopia.knoware.nl/~hlub/uck/software>, which I think has
been mentioned elsewhere in the thread.
As being a 404?

-- Johan
pls
2013-09-27 08:51:25 UTC
Permalink
Post by Johan Vromans
Post by Laura Conrad
I use <http://utopia.knoware.nl/~hlub/uck/software>, which I think has
been mentioned elsewhere in the thread.
As being a 404?
http://utopia.knoware.nl/~hlub/uck/rlwrap/#midi_input
Post by Johan Vromans
-- Johan
_______________________________________________
lilypond-user mailing list
https://lists.gnu.org/mailman/listinfo/lilypond-user
Johan Vromans
2013-09-26 06:30:07 UTC
Permalink
Post by searchfgold6789
`rumor` reports: "ALSA port connection error; do it manually using
`aconnect'".
$ aconnect -i
client 0: 'System' [type=kernel]
0 'Timer '
1 'Announce '
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 128: 'VMPK Output' [type=user]
0 'VMPK Output '
128 is the port of your MIDI keyboard.
Post by searchfgold6789
$ aconnect -o
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 129: 'VMPK Input' [type=user]
0 'VMPK Input '
Here, the input port of rumor should be shown. Was rumor running?

This is what I do on my system (I have a Q25 MIDI keyboard):

% rumor
ALSA port connection error; do it manually using `aconnect'

In another window (so rumor keeps running!):

% aconnect -i
...
client 20: 'Q25' [type=kernel]
0 'Q25 MIDI 1 '
client 128: 'Rumor Client' [type=user]
1 'Rumor OUT '

The port for the Q25 keyboard is 20.

% aconnect -o
...
client 20: 'Q25' [type=kernel]
0 'Q25 MIDI 1 '
client 128: 'Rumor Client' [type=user]
0 'Rumor IN '

The port for rumor is 128. Let's connect them:

% aconnect 20 128

(In my setup, rumor crashes at this point. No worry, just restart it and
re-issue the appropriate aconnect).

Pressing keys on the MIDI keyboard will now result in LilyPond notes
being shown in the rumor output.

Depending on your needs and skills, "rumor --flat" may be a good
suggestion.

MIDI devices are inherently input/output devices, that's why you see
an input port for the keyboard, and an output port for rumor.

Hope this helps.

-- Johan
searchfgold6789
2013-09-28 14:27:19 UTC
Permalink
Thank you very much, rumor is now working.

I think that we have used more disk space, collectively, discussing whether
or not MIDI input to Lilypond will save time, than the rumor source code
takes up. And more time was probably spent in the discussion than will be
saved by using (or not using) MIDI!



--
View this message in context: http://lilypond.1069038.n5.nabble.com/How-to-connect-Midi-keyboard-to-Lilypond-tp151351p151548.html
Sent from the User mailing list archive at Nabble.com.
searchfgold6789
2013-10-03 21:56:23 UTC
Permalink
Things are working, but using VMPK is kind of confusing. I am not sure what
the "velocity" knob does or what the "bend" slider does. It's very difficult
to use these tools because:

- Lifting a key up even slightly causes an undesired rest to be put in
- It seems to be impossible to play in a way that rumor outputs the notes
/where you want them/ in the measure.



--
View this message in context: http://lilypond.1069038.n5.nabble.com/How-to-connect-Midi-keyboard-to-Lilypond-tp151351p151795.html
Sent from the User mailing list archive at Nabble.com.
Martin Tarenskeen
2013-10-03 22:21:06 UTC
Permalink
Post by searchfgold6789
Things are working, but using VMPK is kind of confusing. I am not sure what
the "velocity" knob does or what the "bend" slider does. It's very difficult
Try to attach VMPK to a softsynth and you will find out what "velocity"
and "bend" do soon enough. Or google for "MIDI velocity" and "MIDI pitch
bend". But it's not important for use with rumor and lilypond.
Post by searchfgold6789
- Lifting a key up even slightly causes an undesired rest to be put in
- It seems to be impossible to play in a way that rumor outputs the notes
/where you want them/ in the measure.
First study the output of

rumor --help

Options you should try for example are:
-l or --legato: gets rid of all those rests
--flat: only print notenames, not durations

If you really don't want to use --flat, you can not only connect VMPK to
Rumor, but also you MUST connect Rumor to a (soft)synth like Fluidsynth:
You can not enter notes correctly in the measure without a metronome
reference sound.

P.S.

We warned you that just entering notes by hand is easier :-)
--
MT
Loading...