Re: Lilypond for serial music?

2007-12-01 Thread Andrea Valle

Hi Trevor,

thanks for sharing your thoughts with such an analytical insight.
So, still waiting for the system...:)

Really, there are some people interested in this stuff so would be  
nice to have a wiki or something...


Best

-a-



On 30 Nov 2007, at 18:24, Trevor Bača wrote:


Hi Andrea and Miguel and Eyolf and everybody,

Sorry I've been absent from this thread for a bit; Andrea's  
guessing right that I've been busy ...


:-)

Warning: lots of words, and it's all personal stuff, too.

Quite a few years ago I sat down and made the conscious decision  
that trying to write out by hand the massive textural type of stuff  
that I was writing was going to kill me. That realization started  
me down the score formalization path -- modelling increasingly many  
score elements as data structures in some programming language or  
other. The initial efforts were all implemented in C ... most  
definitely *not* because it was the language for the job ... but  
because it was the language that I happened to know the best at the  
time ... this being the mid- to late-nineties. And the output was  
only MIDI for input to Finale. I know. Gasp.


I moved to Mathematica in 2001 and -- exactly like Miguel -- found  
the language outstanding. There are tons of combinatorial functions  
in Steve Skiena's Combinatorica package and -- more importantly --  
the functional constructs are completely effortless. There's  
something magical about watching Nest[ ] and NestWhile[ ] and Sow 
[ ] and Reap[ ] do their work over huge music expressions ... and  
render magic bits of score. And the notation input at this time  
switched from Finale (after a brief stint with Sibelius ... which  
helped not at all) to Leland Smith's SCORE, which I loved. The  
SCORE GUI is crude. But the SCORE parameter description .pmx format  
allowed for *very* minute control of absolutely every glyph on the  
score ... and was clear-text.


But there were a couple of problems with the Mathematica / SCORE  
approach. Debugging, to start with. The Mathematica model of  
computation is just vastly different than anything I was used to.  
And while most of the time I strongly benefited from the  
differences -- literally EVERYTHING is an expression, the  
functional constructs are effortless, etc -- what eventually  
brought me down was not being able to profile and manage the  
recursion in the structures that I kept building bigger and bigger.  
In Java I would've just encapsulated more stuff in classes,  
sprinkled some printfs all over the place and figured it out. But  
precisely because you can express so much power in a single  
expressions in Mma, stuff can become *extremely* difficult to  
debug. (Though, as Miguel notes, Mathematica is increasingly  
becoming an enviornment ... complete with what I hear is an ever- 
better profiler ... so perhaps my management problems would be  
somewhat ameliorated were I to go back now.)


Similar problem with SCORE -- though 20 years behind. The  
SCORE .pmx formats read most nearly like Fortran (from what I've  
been able to gather): rows and rows of nothing but numbers. So,  
although the .pmx format is clear-text, it's almost strictly  
*numeric* clear-text ... and deciphering whether a tuplet bracket  
has nibs that point up, down, or disappear, and have a certain  
length and thickness means examining your parameter 08 to find that  
slots 6 through 10 have values 0, 0, 1.95, 1.95 and 1.83, all in a  
row. Imagine if every Lily grob override had the format \override  
08 #'3 = 1.95 instead of \override TupletBracket #'transparent =  
##t ...


So (lack of) robustness drove me away from C / Finale and (lack of)  
maintainability drove me away from Mathematica / SCORE.


Then I (re)discovered Lily in about 2006. And in the interests of  
full disclosure I should mention that I had found Lily as early as  
2001 ... but (and it kills me to say this, but there's a lesson in  
here) both the tone of the docs and the examples on the site kept  
me -- incorrectly -- from thinking that Lily would suit my  
purposes. The tone seemed to have a we're not really into modern  
music so don't bother us sorta feel to it. And the examples seemed  
to be a couple of pages of absolutely beautifully engraved  
Classical and Romantic stuff ... together with pages and pages and  
pages of two-note examples of middle C slurring or beaming or  
linking or whatever to another middle C. There just wasn't anything  
there that jumped out at me and said yep, you're gonna be able to  
model whatever level of rhythmic complexity you want AND have it  
turn out beautifully.


My understanding was wrong, of course. And the tone of the docs has  
changed forever for the better. Lily turns out to be  
extraordinarily friendly to composers of whatever stripe ... with  
rhythmic (and other types of complexity) being no object.


Then I switched to python ... just like Andrea. There were a couple  
of different reasons motivating the 

Re: Lilypond for serial music?

2007-11-30 Thread Hans Aberg

On 29 Nov 2007, at 22:18, Andrea Valle wrote:


I don't like lisp-like languages. I really prefer OO languages.


Haskell http://haskell.org/ is an OO functional language with more  
working math like syntax (the LISP syntax comes from Church's thesis  
in mathematical logic). There is a Haskell library Haskore that  
outputs MIDI. You can try it using say the Haskell interpreter Hugs.


  Hans Åberg




___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lilypond for serial music?

2007-11-30 Thread Eyolf Østrem
On 30.11.2007 (11:24), Trevor Bača wrote:
 Hi Andrea and Miguel and Eyolf and everybody,
 The initial efforts were
 all implemented in C ...

major or minor? :)

 So (lack of) robustness drove me away from C 

What's more robust than a C major chord? 

Sorry for joking -- thanks for your story. I must admit I don't do that
kind of music, but I'm quite interested in the possibilities. Some day I'll
look into it...

Eyolf

-- 
There are three possible parts to a date, of which at least two must be
offered: entertainment, food, and affection. It is customary to begin a
series of dates with a great deal of entertainment, a moderate amount of
food, and the merest suggestion of affection. As the amount of affection
increases, the entertainment can be reduced proportionately. When the
affection IS the entertainment, we no longer call it dating. Under no
circumstances can the food be omitted.
-- Miss Manners' Guide to Excruciatingly Correct Behaviour


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lilypond for serial music?

2007-11-30 Thread Trevor Bača
Hi Andrea and Miguel and Eyolf and everybody,

Sorry I've been absent from this thread for a bit; Andrea's guessing right
that I've been busy ...

:-)

Warning: lots of words, and it's all personal stuff, too.

Quite a few years ago I sat down and made the conscious decision that trying
to write out by hand the massive textural type of stuff that I was writing
was going to kill me. That realization started me down the score
formalization path -- modelling increasingly many score elements as data
structures in some programming language or other. The initial efforts were
all implemented in C ... most definitely *not* because it was the language
for the job ... but because it was the language that I happened to know the
best at the time ... this being the mid- to late-nineties. And the output
was only MIDI for input to Finale. I know. Gasp.

I moved to Mathematica in 2001 and -- exactly like Miguel -- found the
language outstanding. There are tons of combinatorial functions in Steve
Skiena's Combinatorica package and -- more importantly -- the functional
constructs are completely effortless. There's something magical about
watching Nest[ ] and NestWhile[ ] and Sow[ ] and Reap[ ] do their work over
huge music expressions ... and render magic bits of score. And the notation
input at this time switched from Finale (after a brief stint with Sibelius
... which helped not at all) to Leland Smith's SCORE, which I loved. The
SCORE GUI is crude. But the SCORE parameter description .pmx format allowed
for *very* minute control of absolutely every glyph on the score ... and was
clear-text.

But there were a couple of problems with the Mathematica / SCORE approach.
Debugging, to start with. The Mathematica model of computation is just
vastly different than anything I was used to. And while most of the time I
strongly benefited from the differences -- literally EVERYTHING is an
expression, the functional constructs are effortless, etc -- what eventually
brought me down was not being able to profile and manage the recursion in
the structures that I kept building bigger and bigger. In Java I would've
just encapsulated more stuff in classes, sprinkled some printfs all over the
place and figured it out. But precisely because you can express so much
power in a single expressions in Mma, stuff can become *extremely* difficult
to debug. (Though, as Miguel notes, Mathematica is increasingly becoming an
enviornment ... complete with what I hear is an ever-better profiler ... so
perhaps my management problems would be somewhat ameliorated were I to go
back now.)

Similar problem with SCORE -- though 20 years behind. The SCORE .pmx formats
read most nearly like Fortran (from what I've been able to gather): rows and
rows of nothing but numbers. So, although the .pmx format is clear-text,
it's almost strictly *numeric* clear-text ... and deciphering whether a
tuplet bracket has nibs that point up, down, or disappear, and have a
certain length and thickness means examining your parameter 08 to find that
slots 6 through 10 have values 0, 0, 1.95, 1.95 and 1.83, all in a row.
Imagine if every Lily grob override had the format \override 08 #'3 =
1.95instead of \override TupletBracket #'transparent = ##t ...

So (lack of) robustness drove me away from C / Finale and (lack of)
maintainability drove me away from Mathematica / SCORE.

Then I (re)discovered Lily in about 2006. And in the interests of full
disclosure I should mention that I had found Lily as early as 2001 ... but
(and it kills me to say this, but there's a lesson in here) both the tone of
the docs and the examples on the site kept me -- incorrectly -- from
thinking that Lily would suit my purposes. The tone seemed to have a we're
not really into modern music so don't bother us sorta feel to it. And the
examples seemed to be a couple of pages of absolutely beautifully engraved
Classical and Romantic stuff ... together with pages and pages and pages of
two-note examples of middle C slurring or beaming or linking or whatever to
another middle C. There just wasn't anything there that jumped out at me and
said yep, you're gonna be able to model whatever level of rhythmic
complexity you want AND have it turn out beautifully.

My understanding was wrong, of course. And the tone of the docs has changed
forever for the better. Lily turns out to be extraordinarily friendly to
composers of whatever stripe ... with rhythmic (and other types of
complexity) being no object.

Then I switched to python ... just like Andrea. There were a couple of
different reasons motivating the move. To start with, I had just finished up
a subsystem at work, all python (in my other life I do engineering stuff).
The work was realtime network stat analysis and after deployment I was
amazed at two things: (1) the code was extraordinarily compressed (compared
to, say, comparable Java) and (2) it was turning out to be extremely
maintainable. Oh, and easy to trial (because of the interpreter and dynamic
reloads) 

Re: Lilypond for serial music?

2007-11-30 Thread Arvid Grøtting
Miguel Lopes Santos Ramos [EMAIL PROTECTED] writes:

 I'm considering either moving back to Common LISP with Lilypond output
 or using the built-in Scheme interpreter; but although I have a 15+ year
 programming background, I'm not finding it very easy to use Lilypond Scheme.

I found googling scheme for common lispers quite helpful, along with
googling things from the Guile manual.

But I don't do the same kind of thing with it, though.

Cheers,

-- Arvid






___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lilypond for serial music?

2007-11-29 Thread Miguel Lopes Santos Ramos
 From: Andrea Valle [EMAIL PROTECTED]

 I typically use lilypond for algorithmic composition.

 I use Python to =20= script lily.

Sorry to meddle in the thread.
Why Python and not the built-in Scheme interpreter?
Personal preference or something you would advise other people to?

I would be interested to know. I've used Excel outputting to Cakewalk in the
distant past, then LISP with output hand copied to score, more recently
Mathematica with cut-and-paste to lilypond.
Mathematica is great, has lots of combinatorial functions and also does
audio, but I'm finding some problems keeping things working across versions and
it really is not free at all; it's becoming more an environment than a
programming language and it's too expensive to use only as a programming
language.
I'm considering either moving back to Common LISP with Lilypond output
or using the built-in Scheme interpreter; but although I have a 15+ year
programming background, I'm not finding it very easy to use Lilypond Scheme.

Greetings,

Miguel Ramos
Lisboa


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lilypond for serial music?

2007-11-29 Thread Andrea Valle
(Still can't understand this list behaviour of replying to the author  
and not to the list...)


Hi Miguel,

I don't like lisp-like languages. I really prefer OO languages. More,  
I've always find difficult to understand lily internals (no figure,  
scheme stuff etc).
So, for my personal preference indeed,  I have used Python. There's  
also to say that Trevor B. has an incredible on going project  
integrating Python and Lilypond.
I started pressing him to release it under sourceforge but  evidently  
he is busy...:-)


For the last project I used SuperCollider, an audio prog language  
which has a Smalltalk-like syntax: this allowed me to integrate  
notation with audio analysis and synthesis.
If you want to integrate very complex audio stuff, use a very  
sophisticated language and then output to lily, I'll suggest SC.
More, I wrote some classes in SC which allowed me to import/export  
with Praat. So, I have all the audio analysis I need.



You may check this:
http://www.nabble.com/python-%3Elilypond-tf2401329.html#a6698740
http://archive.contextgarden.net/message/ 
20070504.140614.ff7f1029.en.html


There are some people interested in stuff like this. We could share  
some infos on a wiki or something.


Best

-a-

On 29 Nov 2007, at 20:18, Miguel Lopes Santos Ramos wrote:


From: Andrea Valle [EMAIL PROTECTED]

I typically use lilypond for algorithmic composition.



I use Python to =20= script lily.


Sorry to meddle in the thread.
Why Python and not the built-in Scheme interpreter?
Personal preference or something you would advise other people to?

I would be interested to know. I've used Excel outputting to  
Cakewalk in the
distant past, then LISP with output hand copied to score, more  
recently

Mathematica with cut-and-paste to lilypond.
Mathematica is great, has lots of combinatorial functions and also  
does
audio, but I'm finding some problems keeping things working across  
versions and

it really is not free at all; it's becoming more an environment than a
programming language and it's too expensive to use only as a  
programming

language.
I'm considering either moving back to Common LISP with Lilypond output
or using the built-in Scheme interpreter; but although I have a 15+  
year
programming background, I'm not finding it very easy to use  
Lilypond Scheme.


Greetings,

Miguel Ramos
Lisboa


--
Andrea Valle
--
CIRMA - DAMS
Università degli Studi di Torino
-- http://www.cirma.unito.it/andrea/
-- [EMAIL PROTECTED]
--


I did this interview where I just mentioned that I read Foucault. Who  
doesn't in university, right? I was in this strip club giving this  
guy a lap dance and all he wanted to do was to discuss Foucault with  
me. Well, I can stand naked and do my little dance, or I can discuss  
Foucault, but not at the same time; too much information.

(Annabel Chong)




___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Lilypond for serial music?

2007-11-27 Thread Eyolf Østrem
The thread about strange meters made me wonder: have any of you
lilypudlians used LP to write serial music? It would seem to be an ideal
combination: make a variable and expose it to different output parameters.
I assume that with some scheme code, a sequence of pitches could be
translated into other series like rhythmic values, dynamics, etc., either
through hard-coded permutations or generated from the series by way of some
kind of algorithm. 

If anyone has experiences to share, I'd be interested in hearing about it.

I can often say: It's not for me, it's for my son when I ask this kind of
question at gaming sites etc. -- this time around it's for a colleague who
writes serial-tonal music. I feel so sorry for him when he sits there, the
night before the premiere, like a latter-day Mozart, and writes out all his
permutations, when it could have been done by a simple lilypond
weirdly.ly

Eyolf

-- 
You will be audited by the Internal Revenue Service.


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lilypond for serial music?

2007-11-27 Thread Andrea Valle
I typically use lilypond for algorithmic composition. I use Python to  
script lily.

Serial practices are just very simple cases.
There are other on the list doing so in very complex ways (e.g.  
Trevor Bača).


Best

-a-


On 27 Nov 2007, at 22:44, Eyolf Østrem wrote:


The thread about strange meters made me wonder: have any of you
lilypudlians used LP to write serial music? It would seem to be an  
ideal
combination: make a variable and expose it to different output  
parameters.

I assume that with some scheme code, a sequence of pitches could be
translated into other series like rhythmic values, dynamics, etc.,  
either
through hard-coded permutations or generated from the series by way  
of some

kind of algorithm.

If anyone has experiences to share, I'd be interested in hearing  
about it.


I can often say: It's not for me, it's for my son when I ask this  
kind of
question at gaming sites etc. -- this time around it's for a  
colleague who
writes serial-tonal music. I feel so sorry for him when he sits  
there, the
night before the premiere, like a latter-day Mozart, and writes out  
all his

permutations, when it could have been done by a simple lilypond
weirdly.ly

Eyolf

--
You will be audited by the Internal Revenue Service.


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


--
Andrea Valle
--
CIRMA - DAMS
Università degli Studi di Torino
-- http://www.cirma.unito.it/andrea/
-- [EMAIL PROTECTED]
--


I did this interview where I just mentioned that I read Foucault. Who  
doesn't in university, right? I was in this strip club giving this  
guy a lap dance and all he wanted to do was to discuss Foucault with  
me. Well, I can stand naked and do my little dance, or I can discuss  
Foucault, but not at the same time; too much information.

(Annabel Chong)




___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lilypond for serial music?

2007-11-27 Thread Christ van Willegen
Hi,

(that should have been to the list, sorry to bother you Andrea)

On Nov 28, 2007 12:27 AM, Andrea Valle [EMAIL PROTECTED] wrote:
  I typically use lilypond for algorithmic composition. I use Python to
 script lily.
 Serial practices are just very simple cases.
 There are other on the list doing so in very complex ways (e.g. Trevor
 Bača).

One of these days (when I get a round tuit) I'll write a program to
output a .ly file to typeset a (random) version of Riley's In C (see
http://www.otherminds.org/SCORES/InC.pdf for a score of the work).
It'd be nice to have a midi file of it ;-)

Christ van Willegen
--
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user