Re: [Haskell-cafe] haskore - lilypond - typesetting?

2013-08-22 Thread Al Matthews
Abjad, which is a Python library, is probably worth study here for its
integration and general re-embrace of Lilypond as a compositional tool.

http://www.projectabjad.org/

Note that in Lilypond one can define a Scheme function over for example a
set of notes.

Al Matthews
-- http://fatmilktv.com

On Aug 21, 2013 12:41 PM, Stephen Tetley stephen.tet...@gmail.com wrote:


 Here's one I did earlier...

 http://www.flickr.com/photos/44929957@N03/4459628487/lightbox/

 This is Haskore implementation of Chick Corea's Child Song 6 rendered
to LilyPond - I don't imagine Mr. Corea's publishers will be sending me a
takedown request any time soon.

 There's a lot missing from Haskore that is needed to make good scores -
the renderer of the above took a lot of effort with metrical grouping but
the result is still abysmal.

 I doubt mathematics can help (common practice) music typesetting much -
Western notation has had a thousand years to develop without the constraint
of a regular syntax; so if Lilypond is horrible it is mostly the fault of
what it tries to typeset (it does make some unwarranted mistakes like
over-restricting the characters it can use for variable names and its
parenthesizing is horrible).


 On 21 August 2013 14:05, Johannes Waldmann waldm...@imn.htwk-leipzig.de
wrote:

 I tried using lilypond ( http://www.lilypond.org/ )
 for typesetting of sheet music.

 While the output looks nice, the input language IMHO is quite horrible,
 because the underlying data/execution model is underspecified.
 For some parts, it tries to describe the logical structure of the score;
 but for others, the layout; and in addition it has several non-obvious
 context-dependencies (but see below), preventing modularity.

 Is there a better option? E.g., starting from a clear mathematical model,
 as in Haskore, and use lilypond only as a PDF rendering engine?

 Do I want hly / hts perhaps?  http://rd.slavepianos.org/?t=hly


 As I see it, the main high-level design problem
 is that the source language needs partial evaluation annotations
 for abstractions applications: sometimes they should be expanded
 (for MIDI rendering, always) and sometimes not (in typesetting,
 to create repetition marks instead of actually repeating notes).


 PS: I agree that some of lilypond's context dependencies
 (relative pitch, implicit note length) do really save
 large amounts of tedious typing: c4 e g a c1 is much more economical
 than [c 1 qn, e 1 qn, g 1 qn , a 1 qn, c 2 fn]
 which I guess is the Haskore equivalent.




 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe



 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] haskore - lilypond - typesetting?

2013-08-21 Thread Rustom Mody
On Wed, Aug 21, 2013 at 6:35 PM, Johannes Waldmann
waldm...@imn.htwk-leipzig.de wrote:
 I tried using lilypond ( http://www.lilypond.org/ )
 for typesetting of sheet music.

 While the output looks nice, the input language IMHO is quite horrible,

I use musescore.
Its got 3 modes on entry
a. clickety-click -- ie mouse
b. keyboard shortcuts
c. midi keyboard

For bulk entry direct entry from a midi keyboard is best
http://musescore.org/en/handbook/note-entry
[Since I am not much of a musician, I usually hover between a and b]

If after that you want the lilypond toolchain, it will export to
lilypond and then use your favorite text editor. [Not sure of the
quality of export]

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] haskore - lilypond - typesetting?

2013-08-21 Thread Sturdy, Ian
I think the big question is whether you are dealing with music or scores. a .ly 
file represents not the music, but the music plus typographic annotations (and 
I find that even lilypond quite often benefits from hints). Most gui programs 
represent scores, but I think lilypond stands alone in that among text formats. 
So the question, to me, is whether you need a representation of music, or of a 
score; if of music, I would choose an input format other than lilypond (abc 
recommends itself from my folk-music background), using an appropriate backend 
for rudimentary typesetting. But if you need the full layout flexibility, I 
doubt you can beat writing straight lilypond: I have yet to see a frontend 
produce easily hand-edited lilypond source (which I find very quickly becomes a 
featureless blob without judicious use of whitespace), nor one that exposes the 
flexibility of the lilypond engine (and I find lilypond much faster to write 
than Finale, and little slower than Mozart's superb keyboar
 d entry (not being a keyboardist, I cannot speak for midi entry)). haskore and 
hly I would reserve for internal representations for conversion or 
transformation programs; I think there are much better alternatives for human 
writing.

I would also be careful with excessively mathematical representations; before 
finding lilypond, I had to discard more than one program for failure to handle 
irregular meters.



From: Haskell-Cafe [haskell-cafe-boun...@haskell.org] on behalf of Rustom Mody 
[rustompm...@gmail.com]
Sent: Wednesday, August 21, 2013 10:46 AM
To: Johannes Waldmann
Cc: Haskell Cafe
Subject: Re: [Haskell-cafe] haskore - lilypond - typesetting?


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] haskore - lilypond - typesetting?

2013-08-21 Thread Stephen Tetley
Here's one I did earlier...

http://www.flickr.com/photos/44929957@N03/4459628487/lightbox/

This is Haskore implementation of Chick Corea's Child Song 6 rendered to
LilyPond - I don't imagine Mr. Corea's publishers will be sending me a
takedown request any time soon.

There's a lot missing from Haskore that is needed to make good scores - the
renderer of the above took a lot of effort with metrical grouping but the
result is still abysmal.

I doubt mathematics can help (common practice) music typesetting much -
Western notation has had a thousand years to develop without the constraint
of a regular syntax; so if Lilypond is horrible it is mostly the fault of
what it tries to typeset (it does make some unwarranted mistakes like
over-restricting the characters it can use for variable names and its
parenthesizing is horrible).


On 21 August 2013 14:05, Johannes Waldmann waldm...@imn.htwk-leipzig.dewrote:

 I tried using lilypond ( http://www.lilypond.org/ )
 for typesetting of sheet music.

 While the output looks nice, the input language IMHO is quite horrible,
 because the underlying data/execution model is underspecified.
 For some parts, it tries to describe the logical structure of the score;
 but for others, the layout; and in addition it has several non-obvious
 context-dependencies (but see below), preventing modularity.

 Is there a better option? E.g., starting from a clear mathematical model,
 as in Haskore, and use lilypond only as a PDF rendering engine?

 Do I want hly / hts perhaps?  http://rd.slavepianos.org/?t=hly


 As I see it, the main high-level design problem
 is that the source language needs partial evaluation annotations
 for abstractions applications: sometimes they should be expanded
 (for MIDI rendering, always) and sometimes not (in typesetting,
 to create repetition marks instead of actually repeating notes).


 PS: I agree that some of lilypond's context dependencies
 (relative pitch, implicit note length) do really save
 large amounts of tedious typing: c4 e g a c1 is much more economical
 than [c 1 qn, e 1 qn, g 1 qn , a 1 qn, c 2 fn]
 which I guess is the Haskore equivalent.




 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskore

2006-09-22 Thread Henning Thielemann

On Fri, 22 Sep 2006, David Curran wrote:

 Hi
 I have been trying to learn haskell (tip over the vending machine) for
 a while and eventually decided the Haskore music library might be a
 good way to start understating the language.

Please, don't understate this language! ;-)

 I am using windows and hugs98. The IOExtensions.hs file will not work
 under windows. Any ideas on how to make it work or is this library
 *nix only?

I think that this problem was resolved in the revised Haskore version, see
 http://darcs.haskell.org/haskore/
   and its binary file wrapper
 http://darcs.haskell.org/haskore/src/Haskore/General/IO.hs

However, I feel that this Haskore version is no longer simple enough for
learning.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskore

2006-09-22 Thread Bulat Ziganshin
Hello David,

Friday, September 22, 2006, 1:40:31 PM, you wrote:

 openBinaryFile :: FilePath - IOMode - IO Handle

import System.IO

 writeBinaryFile  :: FilePath - String - IO ()
writeBinaryFile f txt = bracket (openBinaryFile f WriteMode) hClose
(\hdl - hPutStr hdl txt)

 readBinaryFile   :: FilePath - IO String
readBinaryFile name   = openBinaryFile name ReadMode = hGetContents

these definitions will work both on unix and win





-- 
Best regards,
 Bulatmailto:[EMAIL PROTECTED]

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskore

2006-09-22 Thread Paul Hudak




As Henning points out, the darcs version of Haskore is now the
standard, which Henning has been kind enough to set up. However, it
has also been extended and re-organized, and at least currently does
not have the simplistic feel of the original Haskore. On the other
hand, the version that is described in Chapter 20 of SOE (which is
called "MDL") is very simple and elegant and would be a great way to
"learn Haskell". Even though it's in Chapter 20, it depends only on
material presented much earlier in the book.

I hope this helps, -Paul


Henning Thielemann wrote:

  On Fri, 22 Sep 2006, David Curran wrote:
  
Hi
I have been trying to learn haskell (tip over the vending machine) for
a while and eventually decided the Haskore music library might be a
good way to start understating the language.

  
  
I am using windows and hugs98. The IOExtensions.hs file will not work
under windows. Any ideas on how to make it work or is this library
*nix only?

  
  
I think that this problem was resolved in the revised Haskore version, see
 http://darcs.haskell.org/haskore/
   and its binary file wrapper
 http://darcs.haskell.org/haskore/src/Haskore/General/IO.hs

However, I feel that this Haskore version is no longer simple enough for
learning.



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskore microtonal support

2006-09-22 Thread Paul Hudak
An easier and better way to support microtonal music in Haskore is to 
use the csound back-end instead of MIDI.  I'd be happy to help someone 
develop such a thing if interested.


   -Paul

Magnus Jonsson wrote:


On Thu, 14 Sep 2006, Henning Thielemann wrote:


On Thu, 14 Sep 2006, Magnus Jonsson wrote:


Now even more interestingly, my program also deals with music! :) I'm
generating microtonal midi files. I use it for very much the same 
purpose as

you do (although my program is not yet finished).


Is it something we could and should add to Haskore?


If Haskore could support microtones that would make this world a 
slightly better world for me. Here are the basic things you need to 
support microtonal music:


- Pitch representations would have to be able to express any pitch.
  - One appealing approach is to represent a pitch directly as it's 
frequency.

  - Probably the most useful representation though is a base pitch,
say one of C,D,E,F,G,A,B, followed by a list of accidentals that
modify the pitch. The user should be able to define his own base
pitches and accidentals, in terms of cents or frequency ratios or
something similar.
- Generating microtonal midi files requires that you add pitch-bend 
messages before all notes. That restricts each midi channel to only 
being able to play one note at a time. This is a big deficiency in the 
midi protocol imo.


/ Magnus 



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskore dependency trouble

2006-07-12 Thread Henning Thielemann

On Wed, 12 Jul 2006, Yitzchak Gale wrote:

 In order to learn how to do that, I practiced by
 installing the ever-important HNOP package.
 After a few tries, I found that the following
 sequence of commands works:
 
 ./Setup.hs configure --prefix=/usr
 ./Setup.hs build
 sudo ./Setup.hs install
 
 But similar commands for Haskore do
 not fair as well. The configure command fails
 with the following error:
 
 Setup.lhs: cannot satisfy dependency Hsc-any

This belongs to a SuperCollider wrapper:
 http://www.slavepianos.org/rd/f/409875/

You don't need to install that wrapper, if you do not want to use
SuperCollider. In this case remove the Hsc dependency and the
SuperCollider modules from Haskore.cabal.
 I would like to tell Cabal which modules are required and which are
supported, or recommended, but not needed. I could split Haskore into
several packages, but then again, installation of Haskore and its
sub-packages becomes uncomfortable and the Haddock documentation has no
longer a common table of contents. I tried to write custom Setup code for
finding out which parts of Haskore cannot be installed due to unsatisfied
dependencies, but this is more complicated than I hoped.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskore dependency trouble

2006-07-12 Thread Yitzchak Gale

Henning Thielemann (lemming) wrote:

...Yitz Gale wrote:



I am having trouble installing Haskore due to
a dependency issue... Cabal... The configure
command fails with the following error:
Setup.lhs: cannot satisfy dependency Hsc-any



This belongs to a SuperCollider wrapper:
 http://www.slavepianos.org/rd/f/409875/


Thanks! I'll just install the Debian package.
It is much easier than mucking around with
the Cabal file. I'll decide later whether I actually
want to use it.

There is no way I would have figured that out without
your help, even with Google. Maybe it is time to
bring the README file a little more up-to-date.

Thanks again,
Yitz
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskore dependency trouble

2006-07-12 Thread Yitzchak Gale

Setup.lhs: cannot satisfy dependency Hsc-any



This belongs to a SuperCollider wrapper:
http://www.slavepianos.org/rd/f/409875/



Thanks! I'll just install the Debian package.


I installed the supercollider Debian package,
got hsc using darcs and installed it using Cabal.
All seemed to work OK.

Now the build command for Haskore fails with:

Could not find module `Hsc.UGen'...
 (imported from src/Haskore/Interface/SuperCollider/Example.hs)

That sounds like you did not say -package Hsc.

Besides that, just for the fun of it I tried ghci -package HSc.
The result was:

Loading package Hsc-0.1 ... linking ... ghc-6.4.1:
/usr/lib/Hsc-0.1/ghc-6.4.1/HSHsc-0.1.o: unknown symbol
`__stginit_HscziSndFile_'
ghc-6.4.1: unable to load package `Hsc-0.1'

I installed the supercollider-dev Debian package and
re-installed Hsc (unregister, clean, configure, build, install).
It did not help.

What now? Should I give up and hack all of the Hsc stuff
out of Haskore.cabal?

Thanks for your help,
Yitz
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskore dependency trouble

2006-07-12 Thread Henning Thielemann

On Wed, 12 Jul 2006, Yitzchak Gale wrote:

Setup.lhs: cannot satisfy dependency Hsc-any
 
   This belongs to a SuperCollider wrapper:
   http://www.slavepianos.org/rd/f/409875/
 
  Thanks! I'll just install the Debian package.
 
 I installed the supercollider Debian package,
 got hsc using darcs and installed it using Cabal.
 All seemed to work OK.
 
 Now the build command for Haskore fails with:
 
 Could not find module `Hsc.UGen'...
  (imported from src/Haskore/Interface/SuperCollider/Example.hs)
 
 That sounds like you did not say -package Hsc.

If you install Hsc with Cabal, then it is registered and if you compile
Haskore with Cabal, Cabal should provide the -package option. If you use
the Makefile, this may contain my custom paths, because there is no
configure step. I know, it's all still very experimental.

 I installed the supercollider-dev Debian package and
 re-installed Hsc (unregister, clean, configure, build, install).
 It did not help.
 
 What now? Should I give up and hack all of the Hsc stuff
 out of Haskore.cabal?

The SuperCollider wrapper is as experimental as the revised Haskore
package, so I cannot guarantee that some versions of them work together. I
advise commenting out the SuperCollider modules for now.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskore Wiki (really Haskore T-shirt)

2004-11-29 Thread Fritz Ruehr
Henning and others who are interested in Haskore might want to check 
out the Haskore-themed T-shirt available from CafePress:

http://www.cafepress.com/haskore.13482964
Note that the 8 laws of polymorphic temporal media appear on the rear 
side of the shirt: just click on the View Larger Images link to see 
them. (I could also cut a cheaper, one-sided version of the shirt if 
anyone is interested.)

I made this design for Paul Hudak without realizing that there would be 
a big market for Haskore shirts (so I am pleasantly surprised).

As always, we here at Haskell-Themed Merchandise, Inc. make no profit 
on the merchandise we sell at cost through CafePress.

  --  Fritz Ruehr
PS: There are also some Haskell-themed infant/toddler clothing items 
that haven't made it onto the Haskell merchandise page yet, see 
http://www.cafepress.com/HaskellBoys and 
http://www.cafepress.com/HaskellGirls. HTMI's marketing department 
has been duly chastised for the delays :) .

___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskore Wiki

2004-11-28 Thread Shae Matijs Erisson
Henning Thielemann [EMAIL PROTECTED] writes:

  I also like to point to my private work on Haskore. It includes
 bug-fixes, a more fine-grained modularization, better support for infinite
 music data, 

I've used Haskore before, but I wasn't able to figure out how to make infinte
compositions. I'd like to try turning a lorenz fractal into music, could you
point me to an example of such an infinite song? Can you actually play such a
thing from Haskore?

Thanks,
-- 
Shae Matijs Erisson - http://www.ScannedInAvian.com/ - Sockmonster once said:
You could switch out the unicycles for badgers, and the game would be the same.

___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe