Is there any notation software that supports unconvential notation like Schenker graphs?

What is the best free or cheap music editing software available? I am looking for something to write and edit scores with. I know that Finale and Sibelius are the best on the market, but I wouldn't use them enough to justify the price.

I don't need many features, though here are a few that I could really use:

• Audio play back
• Ability to write without a time signature
• Able to draw non-conventional notation (i.e. Schenker graphs)

Here's an example of what I'd like to draw:

• I'm not sure if it supports free-form notation, but Finale Notepad used to be free. Not sure when it stopped but I believe 2007 was what I used, I'm sure you could find it with a web search. – Matthew Read Nov 28 '11 at 21:45

Check out Lilypond: http://lilypond.org/ It's free and powerful, and although it won't do audio playback, I believe it can do the rest of what you ask. It's text-based, and if you are at all familiar with TeX or LaTeX, Lilypond will feel similar. It has a somewhat steep learning curve, but there are some GUIs in active development that make things easier, and there's also some software that allows for input via MIDI keyboard.

Edit: Seems Lilypond can output MIDI files, so presumably you could get audio playback that way.

• Thanks Alex. After asking this question, I did a google search and came upon lilypond. Seems like it will be the perfect combination of ease of use and control of output. I like the text-based input too. Gets to my nerdy side :) – Reina Abolofia Nov 27 '11 at 20:27
• Ease is.....relative. While lilypond does give you a great amount of control over the output, it is fairly time-consuming to make the source file that gets interpreted. – Babu Nov 27 '11 at 21:08
• It's a matter of preference. Some people prefer the source code / compiled output model. – slim Nov 28 '11 at 18:16
• @Babu, I spent about 2 hours last night trying to draw a simple Schenker graph. I love the complete control over the output, but I agree it is very time consuming. I had to give up and just do it by hand. – Reina Abolofia Nov 28 '11 at 21:22

MuseScore

is getting some attention. It's free, cross-platform, and imports and exports MusicXML. I have not tried it.

rosegarden is another option. It's mostly meant to be used as a MIDI sequencer/DAW, but has a score facility which I believe will let you edit scores directly. It's only available for linux.

• Rosegarden uses lilypond as a backend for generating scores, which is nice. I'm unsure as to whether or not it supports everything that lilypond supports in terms of that......uh.....whatever you're doing in that picture is called! :P – Babu Nov 28 '11 at 5:30

I agree with everyone else that is suggesting Lilypond. Here is a Linux Journal article on creating Schenker Graphs with Lilypond.

As little addon to the Lillypond suggestion:

Check out this snippet from the Lilypond Snippet Repository

I also found the channel #lilypond on Freenode being quite a good resource when getting stuck with something.

With Lilypond, the example of the OP could be drawn like follows:

\score {
\relative c {
\time 2/4
\clef bass
\key f \major
<< { \override NoteColumn.ignore-collision = ##t \stemDown
\phrasingSlurDown \phrasingSlurDashed
\once \override Beam.positions = #'(-6.47 . -6.47)
\once \override PhrasingSlur.control-points = #'((1 . -.5) (3 . -5) (22 . -5) (24 . -3))
f8*4[$$~ \hide Stem f8*4] ~ f4*2( \newSpacingSection g4 a)( \phrasingSlurSolid \undo \hide Stem f,$$$$)( \once \hide Stem c') d$$$$( \once \hide Stem a') \once \override Stem.length = #9.27 \newSpacingSection \time 4/4 bes8*8/3$$$$\once \hide Stem e,4*4/3( f) \newSpacingSection \time 8/2 \once \hide Stem d4*2 \once \override Beam.positions = #'(-5.97 . -5.97) \once \override Beam.transparent = ##f \once \hide Stem e8*4[$$
f8*16] } \\
{ \hide NoteHead \hide Stem \slurUp s2*6
\once \override Slur.control-points = #'((1 . 3.5) (3 . 5) (11 . 4) (13.5 . 1))
bes2( bes,4*4)
\undo \hide Stem e4*2 } \\
{ \hide NoteHead \hide Stem s2*6
\once \override Slur.control-points = #'((1 . -7) (10 . -10) (17 . 7.5) (20 . -.5))
bes'2( s4 e,4) } >> \bar "|."
}

\layout {
\omit Score.TimeSignature
}
}


Denemo is an open source tool for writing scores. It appears to be quite powerful (and has a lilypond interface as well as playback), but the documentation is weak. I couldn't even figure out how to do score writing with bass-line and melody in the same staff, although I know it's possible.