Re: lilypond-user Digest, Vol 133, Issue 102
On Wed, 2013-12-11 at 20:28 -0500, Kieren MacMillan wrote: Hello all, So interesting that this came up on the list this week… I was brainstorming an orchestration teaching tool, In case it is not widely appreciated ... All sorts of tools and teaching aids become quite trivial if the music is stored in a computer-friendly data structure rather than a human-friendly one. This is one extra reason for doing the bulk note entry using Denemo, besides the sheer speed and ease of sight-reading music while entering it. Writing loops over movements, staffs, measures and notes is trivial using Scheme, so that any sort of query can be made without much effort. Richard where one could find the distribution of notes in an instrument across an entire score, to show students where [good] composers tend to have their instruments play. How hard would that be to implement as a function? Thanks, Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How to count the number of notes in a .ly file? (David Kastrup)
Am 11.12.2013 19:47, schrieb Jan Rosseel: From: Urs Liska u...@openlilylib.org I repeat my (corrected) suggestion which could be a workaround at least. If you can use Frescobaldi from Git you can pull and checkout the accounting branch (not statistics) of my Frescobaldi fork on https://github.com/uliska/frescobaldi. (Ah no, you don't necessarily need Git, you can also download a ZIP file of any branch from Github) This allows you to copy a rudimentary statistic to clipboard on a file basis (the open document). This contains a line XX | Note which you could grep or something like this to get your numbers. Very hacky but _could_ work if the number of files is not too big. HTH Urs I'll give that a try after our launch. It would be a good feature to have in Frescobaldi. It's a common feature in a word processor, and also belongs in a tool like Frescobaldi. Yes, I intended to do something about it, but it got surpassed by so many other, more urgent tasks... What I'm thinking of is a detailed statistics panel. This should count all sort of items: Notes, slurs, manual beams, function definitions, function calls etc. Of course this has to consider a whole score including all includes, but (as you suspected correctly) currently it only works on a single file. I'm thinking of an interface that shows you the include paths and allows you to stop the recursion at any point so libraries aren't accounted for. A more fancy idea is to give different items a configurable relative weight (e.g.: note=10,articulation=15,\shape=40), and you can then assign a value to the weight units (e.g. 10 = 3Ct.) and get the money you can charge for your work. You'd have to experiment for some time, calculating existing scores until they match the prize you consider appropriate (and realistic), so you could determine a way to (more) reliably charge engraving tasks based on the content instead of only number of pages. Anybody interested in joining this is welcome (although I'm currently not planning to do any work on this). Urs ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond-user Digest, Vol 133, Issue 102
Kieren MacMillan kieren_macmil...@sympatico.ca writes: Hello all, So interesting that this came up on the list this week… I was brainstorming an orchestration teaching tool, where one could find the distribution of notes in an instrument across an entire score, to show students where [good] composers tend to have their instruments play. How hard would that be to implement as a function? Probably easiest done as an engraver as then you have the timing information (absolute and bar number) available. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: A thought on Windows Experience
Actually I always thought WordStar was better than WordPerfect and still yearn for Dos and Basic. Progress is a wonderful thing, things just get more complex regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: A thought on Windows Experience
Peter Gentry peter.gen...@sunscales.co.uk writes: Actually I always thought WordStar was better than WordPerfect and still yearn for Dos and Basic. Dos? How newfangled. I had to use the debugger to patch the terminal control sequences for my (text) terminal emulator under CP/M into WordStar. Yes, the manual contained the patch locations and descriptions for the terminal sequences and geometry. It was only for later versions that a program was provided that asked the respective questions about your terminal control sequences and did the patching on its own. Progress is a wonderful thing, things just get more complex I am not sure that configuration has become so much more difficult. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: A thought on Windows Experience
On Thu, Dec 12, 2013 at 3:25 PM, David Kastrup d...@gnu.org wrote: Dos? How newfangled. I had to use the debugger to patch the terminal control sequences for my (text) terminal emulator under CP/M into WordStar. Yes, the manual contained the patch locations and descriptions for the terminal sequences and geometry. Hey, I remember that! There were also patch areas to put in (miniscule) pieces of Assembly for things like set-up of the terminal and stuff. Totally off-topic and totally letting everyone know that I'm an old b*tard... 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 https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Turns
Mark Stephen Mrotek carsonm...@ca.rr.com writes: Shane Brandes, Please allow me to tap your expertise once again. In most cases the command you gave worked. Two identical ( as far as I can see ) codes are not producing identical engravings. My error? extra-offset tells LilyPond to first do all its work (including collision avoidance) and then moves the result without any consideration by the given amount. The situation where you would use that is mostly to correct errors in a printout by overriding LilyPond's work after the fact, stuff you'd probably do by dragging with a mouse in a graphical program. It does not really work well as a general mechanism. For rearranging stacking orders and similar automatically, the manual offers a number of recipes in URL:http://lilypond.org/doc/v2.16/Documentation/learning/outside_002dstaff-objects. It seems like an anomaly that advanced material like this would be covered in the Learning Manual and is seemingly not to be found in the Notation Reference. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Turns
Mr. Kastrup, Thank you for your input and providing another learning experience. Mark -Original Message- From: David Kastrup [mailto:d...@gnu.org] Sent: Thursday, December 12, 2013 6:57 AM To: Mark Stephen Mrotek Cc: 'Shane Brandes'; lilypond-user@gnu.org Subject: Re: Turns Mark Stephen Mrotek carsonm...@ca.rr.com writes: Shane Brandes, Please allow me to tap your expertise once again. In most cases the command you gave worked. Two identical ( as far as I can see ) codes are not producing identical engravings. My error? extra-offset tells LilyPond to first do all its work (including collision avoidance) and then moves the result without any consideration by the given amount. The situation where you would use that is mostly to correct errors in a printout by overriding LilyPond's work after the fact, stuff you'd probably do by dragging with a mouse in a graphical program. It does not really work well as a general mechanism. For rearranging stacking orders and similar automatically, the manual offers a number of recipes in URL:http://lilypond.org/doc/v2.16/Documentation/learning/outside_002dstaff- objects. It seems like an anomaly that advanced material like this would be covered in the Learning Manual and is seemingly not to be found in the Notation Reference. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Turns
David Kastrup wrote Thursday, December 12, 2013 2:57 PM It does not really work well as a general mechanism. For rearranging stacking orders and similar automatically, the manual offers a number of recipes in URL:http://lilypond.org/doc/v2.16/Documentation/learning/outside_002dstaff-objects. It seems like an anomaly that advanced material like this would be covered in the Learning Manual and is seemingly not to be found in the Notation Reference. Not really. I selected stuff like this for the Learning Manual based on the questions appearing on the -user list around 3-4 years ago. Placement of objects used to be a common question then. So why not in the Notation Reference? Because we don't document overrides in general - that's what the Internal Reference is for. And we don't use the NR to explain things - that's done in the LM. Trevor ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: lilypond-user Digest, Vol 133, Issue 102
Subject: Re: lilypond-user Digest, Vol 133, Issue 102 From: kieren_macmil...@sympatico.ca Date: Wed, 11 Dec 2013 20:28:03 -0500 To: j...@rosseel.com CC: lilypond-user@gnu.org Hello all, So interesting that this came up on the list this week… I was brainstorming an orchestration teaching tool, where one could find the distribution of notes in an instrument across an entire score, to show students where [good] composers tend to have their instruments play. How hard would that be to implement as a function? I imagine these features could be done with a music analysis framework like music21 (http://web.mit.edu/music21/)? It's scripted in python. Works with MusicXML, though. Another one that I would like to check out is the commercial (but inexpensive) one: http://www.melodicmatch.com. (Works with MusicXML, as well). ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
tranpose relative to the last pitch
Suppose I have music = \relative c'{c b a g f e e f g a b c} my instrument is limited so it cannot play the pitch f end below I have to raise f e e f by a terts of an octave Is there a function shift or can it be made such that music = \relative c'{c b a g \terts{f e e f} g a b c} is equivalent to \relative c'{c b a g a g g a g a b c} if you use : terts = #(define-music-function (parser location ploep) (ly:music?) #{ \transpose c e \relative c' $ploep #}) the c' after \relative should actualy be the last-pitch (in the example g) Help will be appreciated Tom ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: tranpose relative to the last pitch
On Thu, Dec 12, 2013 at 4:26 PM, Tom van der Hoeven t...@vanderhoeven.bizwrote: Suppose I have music = \relative c'{c b a g f e e f g a b c} my instrument is limited so it cannot play the pitch f end below I have to raise f e e f by a terts of an octave Is there a function shift or can it be made such that music = \relative c'{c b a g \terts{f e e f} g a b c} is equivalent to \relative c'{c b a g a g g a g a b c} if you use : terts = #(define-music-function (parser location ploep) (ly:music?) #{ \transpose c e \relative c' $ploep #}) the c' after \relative should actualy be the last-pitch (in the example g) Help will be appreciated Tom A couple of things: I don't think you can do what you're wanting to do in relative mode. I think you need to use music = { c' b a g \terts{f e e f} g a b c' } and keep everything in absolute, at least, if you're going to embed a Scheme function like this. I can foresee possible combinations of this that are going to make your music go all over the place. Secondly, as a musical point, what you're wanting is not what you're going to get. Your function looks like it should produce c' b a g a gis gis a g a b c What you ideally need is a function that takes a musical expression and a cutoff note, then inspects each note and translates the note (raises it) if it falls outside the range. I'm not versed enough in Scheme to produce this function, but it would provide the flexibility of allowing you to use relative mode if so desired, and would not require you to explicitly define the notes to transpose ahead of time. Cheers, Carl P. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond-user Digest, Vol 133, Issue 102
Music21, does not really work to terribly well with Lilypond. apparently there is a method of using Lilypond to generate output, but it only reads musicxml and Lilypond currently cannot export to musicxml. You can sidestep the issue partially and run midi files through music21 but it reduces the usefulness since you lose a number of things that might want to be examined. But on the bright side I managed to get Music21 working under ubuntu studio 13.10. Shane On Thu, Dec 12, 2013 at 2:34 PM, Eduardo Silva eduardo.su...@hotmail.com wrote: Subject: Re: lilypond-user Digest, Vol 133, Issue 102 From: kieren_macmil...@sympatico.ca Date: Wed, 11 Dec 2013 20:28:03 -0500 To: j...@rosseel.com CC: lilypond-user@gnu.org Hello all, So interesting that this came up on the list this week… I was brainstorming an orchestration teaching tool, where one could find the distribution of notes in an instrument across an entire score, to show students where [good] composers tend to have their instruments play. How hard would that be to implement as a function? I imagine these features could be done with a music analysis framework like music21 (http://web.mit.edu/music21/)? It's scripted in python. Works with MusicXML, though. Another one that I would like to check out is the commercial (but inexpensive) one: http://www.melodicmatch.com. (Works with MusicXML, as well). ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
include within include
Hi, I can include a file within an included file. But I would like main.ly: \include folder/first.ly first.ly: \inlcude second.ly but second.ly is in the same folder as first.ly Is there a way to do that? Or do I always have to specify the path (relative to the lilypond include path)? Thanks, Joram ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: include within include
Am 12.12.2013 20:47, schrieb Noeck: Hi, I can include a file within an included file. But I would like main.ly: \include folder/first.ly first.ly: \inlcude second.ly but second.ly is in the same folder as first.ly Is there a way to do that? Or do I always have to specify the path (relative to the lilypond include path)? Did you try that? Isn't what you want default behaviour? But if not simply write #(ly:set-option 'relative-includes #t) before the \include statement in first.ly This is described in http://www.lilypond.org/doc/v2.17/Documentation/notation/including-lilypond-files HTH Urs ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: include within include
Am 12.12.2013 23:37, schrieb Urs Liska: This is described in http://www.lilypond.org/doc/v2.17/Documentation/notation/including-lilypond-files ah, and http://www.lilypond.org/doc/v2.16/Documentation/notation/including-lilypond-files ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond-user Digest, Vol 133, Issue 102
On Thu, Dec 12, 2013 at 07:24:51AM +0100, David Kastrup wrote: Kieren MacMillan kieren_macmil...@sympatico.ca writes: I was brainstorming an orchestration teaching tool, where one could find the distribution of notes in an instrument across an entire score, to show students where [good] composers tend to have their instruments play. How hard would that be to implement as a function? Probably easiest done as an engraver as then you have the timing information (absolute and bar number) available. Perhaps I misunderstand Kieren and/or David, but I took Kieren's idea to be a sort of 'spectral' analysis, whereas David's reply seems to imply a 'temporal' analysis. At least, I understand Kieren to be wondering what is the distribution of pitches assigned to a given instrument throughout this score? or less technically, what portion of each instrument's range does this score utilize? This is somewhat like a weighted ambitus as shown perhaps by a bell curve which shows not only the highest and lowest pitches, but also includes the weighting of which pitches are used more frequently than others. David's comment makes me wonder, what group of instruments are likely to be playing [at all; and how loudly] during any given moment of the score, and how does the instrumentation (possibly including the relative density [note count, dynamics]) change through the timeline of the score? This makes my mind's eye envision a line graph with dynamics as a dependent variable of time, and differently colored (or dotted/dashed) lines showing the relative amplitude (dynamics) of each instrument or group of instruments (strings/brass/woodwinds/percussion, kazoo/washtub/spoons, whatever). Not that I'm putting this on anyone's to-do list! I just wanted to compliment both brainstormers for posing some interesting questions. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: include within include
Thanks Urs, I should have found this myself. Just to confirm: #(ly:set-option 'relative-includes #t) does what I want, it is announced as default for 'future versions' but it is not yet the default in 2.16 or 2.17.96 Cheers, Joram ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: tranpose relative to the last pitch
Tom van der Hoeven t...@vanderhoeven.biz writes: Suppose I have music = \relative c'{c b a g f e e f g a b c} my instrument is limited so it cannot play the pitch f end below I have to raise f e e f by a terts of an octave Is there a function shift or can it be made such that music = \relative c'{c b a g \terts{f e e f} g a b c} is equivalent to \relative c'{c b a g a g g a g a b c} if you use : terts = #(define-music-function (parser location ploep) (ly:music?) #{ \transpose c e \relative c' $ploep #}) the c' after \relative should actualy be the last-pitch (in the example g) Help will be appreciated The current development version has a new definition of makerelative allowing for terts = #(define-music-function (parser location ploep) (ly:music?) (make-relative (ploep) ploep #{ \transpose c e $ploep #})) -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user