blog.humaneguitarist.org

music notation frustrations and what's on my programming plate

[Sun, 02 Jun 2013 15:07:31 +0000]
I haven't been blogging as much lately it seems. But I probably will be doing more soon as I'm wrapping up a new version of PubMed2XL [http://blog.humaneguitarist.org/projects/pubmed2xl/]. And that will also entail updating the documentation and even the video demo/tutorial I have on Vimeo. I've also been preoccupied with a recent change of apartment and some other stuff, so here's a little on what I'm doing musically and in terms of software projects. ... not that anyone's really reading or cares. :P Musically, I've mostly got these four solo guitar pieces I started working on last September entered into MuseScore [http://musescore.org/]. I can breath a sigh of relief now that the notes and durations are in and there's no pressure to keep them memorized or rely on snippets of hand-written manuscript. The busy work of adding fingerings, worrying about beaming, etc. remains ... as does deciding what I'm going to use to print the music. I just don't dig the MuseScore output even though it uses the same Feta [http://lilypond.org/doc/v2.15/Documentation/contributor/overview-of-the-feta-font] font as does Lilypond [http://lilypond.org]. Of course, Lilypond is the best output (or at least the best free output) out there. But from day one, I didn't want to enter the music in as Lilypond. I think Lilypond's entry format breaks down after notes and durations start to get entered. It starts to feel like the cryptic markup that, well, it is once fingerings and beamings become cosiderations. Been there, done that. MuseScore's Lilypond export is really much better than in the early days of MuseScore, but it does some weird things like numbering all the measures so I'd have to write a post-processing script to clean up the Lilypond file after the MuseScore export. Nicely, MuseScore has command line options so I could automate the process of MuseScore -> Lilypond -> post processing -> PDF. But I'm not sure that's a good solution going forward. I think - if I remember - that the "musicxml2ly" Python script that comes with Lilypond has a better output. So I might use that in my workflow. The output from Noteflight [http://www.noteflight.com] is damn good, BTW. It looks like Lilypond but I don't think Noteflight really supports guitar fingerings based on what I've seen through casual investigation. Anyway, I think my solution involves MuseScore for entry, musicxml2ly.py, and Lilypond. Maybe even a little GIMP [http://www.gimp.org/] to make the output look a little weathered, like a grainy film. I dunno, probably not. OK, and as to what I'm doing software-wise after I finish PubMed2XL 2.0 ... First, I have to create a webpage for a guitarist/luthier friend of mine to do fret calculations using a particular formula. That involves the challenge of making it look professional since it'll reflect on him and not just me. I was able to make what I think is a pretty nice looking logo/look using Inkscape [http://inkscape.org]. Actually, I used Inkscape to make a logo for PubMed2XL, too. I'm also going to use the project as a way to finally do some responsive design and also incorporate a JavaScript ~MVC framework. I think KnockoutJS [http://knockoutjs.com] is the one I'm going with. I've already written the PHP/JSON API that does the fret calculations. Yes, there will be an API for luthiers! Could be nice to use in conjunction with Google Chart Tools or something to visualize fret distances ... Anyway, so after that I need to work out a demo for a secure "eBook" reader as I mentioned in a previous post [http://blog.humaneguitarist.org/2013/03/07/on-the-brain-audio-ocrhocr-did-you-mean-and-there-are-no-ebooks/]. It should be a soup-to-nuts way to securely deliver ePub and HTML/CSS/JavaScript pages through a desktop application (i.e. a WebKit browser stripped of the ability to save pages) using MySQL, PHP, Python, and password protected ZIP files. And then, I'd like to explore music notation entry using the Android voice recognition features. That's to say, instead of singing the melody, I would say something like basic Lilypond syntax into my phone a la "C4 D8 E F4 G", etc. and have the application save that to my Dropbox account and/or send it to a Lilypond API and render it as an image, or something. I'm not too sure yet. I just know that I loathe notation entry with a mouse/keyboard. And, no, I'm not buying a MIDI keyboard. I think there was something else, too. But I can't remember. Oh well, it probably wasn't that important to me if I forgot. … Update, a few hours later: OK. It was something that might be very important to me ... and that's some project built around using the IMLSP [http://imslp.org/] API to retrieve scores. Not too sure yet as I'd have to explore the API some more. Anyway, I guess this post is going to serve as my project portfolio for several, several months.