7 ms·
Music Notation with HTML5 Canvas
- leviathant 16y agoOh man, music notation on a computer is a path you don't want to start down. Take the oldest, crustiest, hacked together duct-taped programming language you can think of -- imagine what that language would be like if it would be still in use hundreds of years from now. That's music notation, today. Even the really good programs like Sibelius (and I guess Finale...) still have a ways to go in terms of accurate notation. Attempting to reduce notation to a JSON-style dataset seems, well, extraordinarily challenging.
- aston 16y agoIsn't the majority of the challenge in nice notation similar to typesetting with text? The difficulty is in making it look nice, not knowing what data you're attempting to display. I should think you could encode pitches, start times and durations in a JSON-style format without many problems.
- mtoledo 16y ago"I should think you could encode pitches, start times and durations in a JSON-style format without many problems." Yeah, only music notation can get a lot more complex than these 3 factors
- skybrian 16y agoYou could start out that way and get pretty far, but eventually the language will get complicated enough that you'll want something more like LaTex than like JSON if you want it to be readable. Musical notation is often deliberately ambiguous to allow for interpretation. Tempo is often approximate. Durations are often approximate or implied (such as swing time). Volume is very approximate. And then there are various kinds of hinting. The hints need to be in the source code because nobody wants to specify them with more precision. But that said, I'd be perfectly happy with something basic that runs in a browser.
- tjr 16y agoFor some arenas of music, such as jazz combo-oriented groups, a very basic melody lead sheet with chords and song structure elements (section a, section b, repeat, etc.) is plenty. Maybe rather than focusing on building a full music notation system for the web, focusing on making something for lead sheets / rhythm charts / etc would be a better path. I really don't like breaking out Finale to do jazz rhythm charts, but right now it's just about the best option. Make something better, and I for one would pay for it.
- jacquesm 16y agoAnd then you try to code partita #1 and you run in to all those little funny marks that somehow expand to 8 notes. Macros were invented by J.S. Bach.
- hexis 16y agoWith MathML in the new Firefox engine and now music notation in canvas, browsers are going to be a bit more fun and beautiful.
- jazzychad 16y agoYou may want to look into the Lilypond syntax for textual score notation. - http://lilypond.org/ http://lilypond.org/
- necubi 16y agoAlso for layout algorithms. The people behind lilypond have thought very hard about what makes a score beautiful and legible and have pushed the art of computer engraving forward immeasurably. This is the TeX for music. Sibelius, Finale et al. have only recently begun to catch up.
- nitrogen 16y agoLilypond's web site could benefit from some examples of its output directly on the front page. I tried three different approaches in my casual attempt to see just how good it is, and didn't reach any PDFs or printouts.
- jazzychad 16y agoYes, examples and docs are a bit buried, but there is a huge amount of info to be found. Example outputs - http://lilypond.org/switch/tour http://lilypond.org/switch/tour Example syntax - http://lilypond.org/switch/howto http://lilypond.org/switch/howto
- deleted 16y ago[deleted]
- timclark 16y agoLilypond has a working syntax but it could sure do with some simplification and consistency. I use Lilypond, I use Latex, I know Lisp, but I find the Lilypond syntax can be mighty confusing.
- cellshade 16y agoIs there a link to the unminimized source for this? Looks awesome!
- thefool 16y agoIf the goal is to build a wysiwyg editor, finale and others have some implementation that regular musicians have learned to work with. For a lot of people, the ability to do midi input is really important because when they write the music down a lot of the time they have to transcribe from their motions anyway. This is possibly more important than the actual explicit way that you write things down.