Re: [Haskell-cafe] haskore - lilypond - typesetting?
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?
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?
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?
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
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
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
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
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
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
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
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
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)
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
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