Discussion:
[haskell-art] Lilypond parsing with Haskore
Corbin Simpson
2012-06-30 06:47:56 UTC
Permalink
Hi all,

Let me know if I've broken ettiquette; this is my first post to this
list.

I've written a library, called Lye, that compiles a strict subset of
Lilypond to a meta-MIDI format. I originally worked in Python, but have
been working on translating it to Haskell. I noticed that Haskore is
still being actively developed; is Haskore a good target for this kind
of work? My larger goal is to have a programmatically-controlled synth
that is driven by Lilypond input, and I think that Haskore would work
well as a backend.

My current code is at https://github.com/mostawesomedude/lye, if anybody
is wondering.

~ C.
Stephen Tetley
2012-06-30 16:00:23 UTC
Permalink
Hi Corbin, and welcome.

Haskore should be a good target for a "note list" format.

Note there are three "versions" of Haskore - Vintage which is circa
the original School of Expression book, Henning's extended version and
Euterpea[1] the successor to Haskell from Paul Hudak's Yale group.

[1] http://haskell.cs.yale.edu/?page_id=103
Hudak, Paul
2012-06-30 16:04:33 UTC
Permalink
Sounds interesting Corbin. Haskore has actually been subsumed under a larger project called Euterpea, which is still being actively developed, but robust enough that I use it in two computer music courses that I teach. You can find out more at our website at http://haskell.cs.yale.edu/. Let me know if you have any questions.

Best, -Paul

Paul Hudak
Professor of Computer Science
Yale University, PO Box 208285
New Haven, CT 06520-8285, 203-432-1235 

-----Original Message-----
From: Corbin Simpson [mailto:***@corbinsimpson.com]
Sent: Saturday, June 30, 2012 2:48 AM
To: haskell-***@lurk.org
Subject: [haskell-art] Lilypond parsing with Haskore

Hi all,

Let me know if I've broken ettiquette; this is my first post to this list.

I've written a library, called Lye, that compiles a strict subset of Lilypond to a meta-MIDI format. I originally worked in Python, but have been working on translating it to Haskell. I noticed that Haskore is still being actively developed; is Haskore a good target for this kind of work? My larger goal is to have a programmatically-controlled synth that is driven by Lilypond input, and I think that Haskore would work well as a backend.

My current code is at https://github.com/mostawesomedude/lye, if anybody is wondering.

~ C.
Corbin Simpson
2012-06-30 18:17:34 UTC
Permalink
Hi Paul,

Euterpea looks interesting. I notice it's not on Hackage; is that just
because it's still under development?

~ C.
Post by Hudak, Paul
Sounds interesting Corbin. Haskore has actually been subsumed under a larger project called Euterpea, which is still being actively developed, but robust enough that I use it in two computer music courses that I teach. You can find out more at our website at http://haskell.cs.yale.edu/. Let me know if you have any questions.
Best, -Paul
Paul Hudak
Professor of Computer Science
Yale University, PO Box 208285
New Haven, CT 06520-8285, 203-432-1235 
-----Original Message-----
Sent: Saturday, June 30, 2012 2:48 AM
Subject: [haskell-art] Lilypond parsing with Haskore
Hi all,
Let me know if I've broken ettiquette; this is my first post to this list.
I've written a library, called Lye, that compiles a strict subset of Lilypond to a meta-MIDI format. I originally worked in Python, but have been working on translating it to Haskell. I noticed that Haskore is still being actively developed; is Haskore a good target for this kind of work? My larger goal is to have a programmatically-controlled synth that is driven by Lilypond input, and I think that Haskore would work well as a backend.
My current code is at https://github.com/mostawesomedude/lye, if anybody is wondering.
~ C.
_______________________________________________
haskell-art mailing list
http://lists.lurk.org/mailman/listinfo/haskell-art
Hudak, Paul
2012-07-03 21:30:37 UTC
Permalink
Hi Corbin. Yes, it is still under development, but in will probably always be under development, so the truth is it SHOULD be on Hackage, but we have been lazy... This is on our To Do list for this summer.

Best, -Paul

-----Original Message-----
From: Corbin Simpson [mailto:***@corbinsimpson.com]
Sent: Saturday, June 30, 2012 2:18 PM
To: Hudak, Paul
Cc: haskell-***@lurk.org; Daniel Winograd-Cort (***@gmail.com); ***@yale.edu
Subject: Re: [haskell-art] Lilypond parsing with Haskore

Hi Paul,

Euterpea looks interesting. I notice it's not on Hackage; is that just because it's still under development?

~ C.
Post by Hudak, Paul
Sounds interesting Corbin. Haskore has actually been subsumed under a larger project called Euterpea, which is still being actively developed, but robust enough that I use it in two computer music courses that I teach. You can find out more at our website at http://haskell.cs.yale.edu/. Let me know if you have any questions.
Best, -Paul
Paul Hudak
Professor of Computer Science
Yale University, PO Box 208285
New Haven, CT 06520-8285, 203-432-1235
-----Original Message-----
Sent: Saturday, June 30, 2012 2:48 AM
Subject: [haskell-art] Lilypond parsing with Haskore
Hi all,
Let me know if I've broken ettiquette; this is my first post to this list.
I've written a library, called Lye, that compiles a strict subset of Lilypond to a meta-MIDI format. I originally worked in Python, but have been working on translating it to Haskell. I noticed that Haskore is still being actively developed; is Haskore a good target for this kind of work? My larger goal is to have a programmatically-controlled synth that is driven by Lilypond input, and I think that Haskore would work well as a backend.
My current code is at https://github.com/mostawesomedude/lye, if anybody is wondering.
~ C.
_______________________________________________
haskell-art mailing list
http://lists.lurk.org/mailman/listinfo/haskell-art
Henning Thielemann
2012-06-30 16:16:45 UTC
Permalink
Post by Corbin Simpson
I've written a library, called Lye, that compiles a strict subset of
Lilypond to a meta-MIDI format.
Lilypond can generate MIDI files for the notesheets you create.
Corbin Simpson
2012-06-30 18:12:21 UTC
Permalink
Post by Henning Thielemann
Post by Corbin Simpson
I've written a library, called Lye, that compiles a strict subset of
Lilypond to a meta-MIDI format.
Lilypond can generate MIDI files for the notesheets you create.
Yes, I have used this ability in the past to prototype and proof my
typesetting.

Lye has three main features which Lilypond doesn't have:

* It can specialize expressions, ornaments, etc. based on instrument,
for more authentic playback.
* It can output to live MIDI devices with on-the-fly control, to do
live flow control. This is useful for things like BGM which rely on
indefinitely-long amounts of output.
* It's not GPL and not written in Scheme and C++. It's also constructed
as a library rather than a standalone compiler. For sheer
hackability, this was important to me.

This is a project leading up to a video game, and so it was *really*
important that these things be in there.

~ C.
Evan Laforge
2012-07-22 15:59:00 UTC
Permalink
On Jun 30, 2012 11:12 AM, "Corbin Simpson" <cds
Post by Corbin Simpson
This is a project leading up to a video game, and so it was *really*
important that these things be in there.
This bit sounds interesting. Why would video game music prioritize lilypond
output? I'd think you'd just want something that created MIDI or audio,
unless the game somehow integrates notation into the gameplay.
Corbin Simpson
2012-07-23 18:59:19 UTC
Permalink
Post by Evan Laforge
On Jun 30, 2012 11:12 AM, "Corbin Simpson" <cds
Post by Corbin Simpson
This is a project leading up to a video game, and so it was *really*
important that these things be in there.
This bit sounds interesting. Why would video game music prioritize lilypond
output? I'd think you'd just want something that created MIDI or audio,
unless the game somehow integrates notation into the gameplay.
I guess I wasn't very clear; I'm *parsing* Lilypond and generating MIDI
from that. There's no Lilypond output, just Lilypond input.

~ C.
Evan Laforge
2012-07-23 19:46:37 UTC
Permalink
Post by Corbin Simpson
I guess I wasn't very clear; I'm *parsing* Lilypond and generating MIDI
from that. There's no Lilypond output, just Lilypond input.
Oh I see, but I'd think the reason to write something in lilypond in
the first place is that you can get score out of it. I guess you
could just like ly as an input format, but it seems like you'd be
restricting your syntax to something designed for something else,
without much to gain from it.
Corbin Simpson
2012-07-24 00:58:25 UTC
Permalink
Post by Evan Laforge
Post by Corbin Simpson
I guess I wasn't very clear; I'm *parsing* Lilypond and generating MIDI
from that. There's no Lilypond output, just Lilypond input.
Oh I see, but I'd think the reason to write something in lilypond in
the first place is that you can get score out of it. I guess you
could just like ly as an input format, but it seems like you'd be
restricting your syntax to something designed for something else,
without much to gain from it.
I guess I'm weird; Lilypond is my preferred notation for expressing
music. I never really liked any of the others. Note that I'm only doing
a subset of Lilypond and not the entire embedded-Guile setup.

Loading...