PRINT, piano-roll inspired notation

60 views
Skip to first unread message

Ole Kirkeby

unread,
Aug 6, 2017, 1:10:26 PM8/6/17
to The Music Notation Project | Forum
For a long time I have wanted to get rid of rests and ties, the left-over from TN which stubbornly clings to most AN systems. Since I do a lot of midi recordings I am used to looking at piano-roll notation, and I very much like that note onsets and durations are independent of barlines and downbeats. So what I have come up with is a modified piano-roll major-thirds notation implemented in Octave, an open-source Matlab clone. The project is on Github, https://github.com/olekirkeby/m3print. The original input is midi but it has to be converted to csv before it can be handled in Octave. For that purpose it is necessary to use another open-source program (http://www.fourmilab.ch/webtools/midicsv/). So you have to be a bit of a Linux-nerd if you want to try it. The best I can do at the moment is attach an example.
birdland_extract_PRINT.png

Joseph Austin

unread,
Aug 7, 2017, 9:50:26 AM8/7/17
to musicn...@googlegroups.com
Ole,
Thanks for the effort.  I'd also expect that getting rid of rests and ties (and using linear time) make the 'rhythm" more apparent. Have you tried reading syncopated music in this notation.

I'll have a look at it, being somewhat a Linux-nerd (actually an Apple Nerd, but Mac can usually handle Linux).
But probably not until next week as I have another project due this weekend.

With my age-impaired vision, I'm having a hard time determining whether you have three colors or four;
I do notice you have 4 shapes but they seem to be attached to specific colors.

Also, it's not clear how your staff extends beyond one octave.

It seems for timing you have bar lines and lighter sub-bar at the quarter-note interval.
I'd like to see how this works for music with mixed quarters and triplets, such as "It's a Wonderful World."

-------
One decision I have to make in "trying"  these various notations is,
is it worth the effort it will take to learn it?  
Which usually comes down to: 
"How hard is it to get *my* music into it?"

A  MIDI converter is a big plus!

Joe Austin






On Aug 6, 2017, at 1:10 PM, Ole Kirkeby <m3roa...@gmail.com> wrote:

For a long time I have wanted to get rid of rests and ties, the left-over from TN which stubbornly clings to most AN systems. Since I do a lot of midi recordings I am used to looking at piano-roll notation, and I very much like that note onsets and durations are independent of barlines and downbeats. So what I have come up with is a modified piano-roll major-thirds notation implemented in Octave, an open-source Matlab clone. The project is on Github, https://github.com/olekirkeby/m3print. The original input is midi but it has to be converted to csv before it can be handled in Octave. For that purpose it is necessary to use another open-source program (http://www.fourmilab.ch/webtools/midicsv/). So you have to be a bit of a Linux-nerd if you want to try it. The best I can do at the moment is attach an example.

--
You received this message because you are subscribed to the forum of the Music Notation Project (hosted by Google Groups).
To post to this group, send email to musicn...@googlegroups.com
To unsubscribe from this group, send email to musicnotatio...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/musicnotation?hl=en
---
You received this message because you are subscribed to the Google Groups "The Music Notation Project | Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to musicnotatio...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Ole Kirkeby

unread,
Aug 8, 2017, 2:22:42 PM8/8/17
to The Music Notation Project | Forum
Joe, thank you for taking in interest in my notation. You shouldn't have any problem making it work on your Mac. Octave is available as a binary for OSX but you might have to build midicsv yourself (a Makefile is included in the package).

The shapes and colours of the noteheads can be changed easily. They are given in the file m3print.m in the lines

plot(x(2,n0), x(5,n0),'ok','markersize', MARKERSIZE,   'markerfacecolor','k');
plot(x(2,n1), x(5,n1),'vg','markersize', MARKERSIZE  , 'markerfacecolor','g');
plot(x(2,n2), x(5,n2),'sk','markersize', MARKERSIZE-2, 'markerfacecolor','k');
plot(x(2,n3), x(5,n3),'^r','markersize', MARKERSIZE  , 'markerfacecolor','r');

So go ahead and change 'sk' (square black) to 'b*' (blue star) or whatever. You can use RGB values for colours if necessary. Type 'help plot' in Octave to see the options available.

The staff is three octaves. Each solid staff line is an E so, as with most of what I do, it is intended for guitar (however, you can change the constants MINSTAFFLINE and MAXSTAFFLINE in the program). The idea is to use the notehead's shape and colour to quickly determine the note's position within and octave.

The distinction between triplets and straight 8ths or 16ths works well, I think. Small vertical lines for each note onset are added on the solid staff lines. That makes it possible to see exactly when the onset occurs. I have attached an extract from West Coast Blues which is in 3/4 triplet 8ths (the very short intervals are grace notes in the original notation). More complex rhythms, such as tuplets combined with 32nd notes, will almost certainly require clarification that goes beyond the notation on its own.

At the moment you can't mix time signatures but it shouldn't be too difficult to add. You are also right in assuming that gridlines are hardcoded to quarternotes. The main limitation is that Octave isn't meant for fancy layout. You can't split lines, or define a page format such as A4. It is just a plot.

And finally, yes, the midi import capability is essential, and I am relieved I got working. If you look at my previous commit in Github, it used a format that required entering notes, their onsets and durations, in a spreadsheet. It was more cumbersome than Lilypond and it was obvious it was impractical, even for experimentation.
west_coast_blues_extract.png

Joseph Austin

unread,
Aug 9, 2017, 4:30:32 PM8/9/17
to musicn...@googlegroups.com
Ole,
I had done a similar MIDI conversion to AN using HTML5 Canvas--
allowing web printing of scores with shaded/colored staves, for example--
but never got around to posting it.
I had written a Java program to convert a midicsv file to xhtml tags.
One problem was I could never get consistent control of the page layout and page breaks in HTML5.  It seems to be browser dependent.

I had also started investigating MIDI conversion in Lilypond.
Problem areas are mapping of "continuous" controllers, such as tempo and volume,
and voicing--how do you decide between notating multiples voices vs chords?
But Lilypond does have a nice midifile decoder engine (written in Python 2) than could be adapted to a variety of other notations.

Currently I'm limited in creating MIDI files. I'm using Aria Maestosa as piano-roll-to-MIDI,
but the MIDI file options are limited.  For example, AM has no anacrusis mechanism.
Of course, most editors are not created for the purpose of generating arbitrary MIDI files.

Meanwhile, I had become distracted by some other projects and haven't done any coding for quite a while.
Musically, I've been devoting more time to chorus than to keyboard, 
and with chorus I've never found it worthwhile to do any more notation conversion that writing " d r m f s l t " underneath the notes in the score.  I do use piano-roll (Aria Maestosa) to create audio files from the score, for learning parts.

My favorite editor was the original Cakewalk, before they converted it from MIDI to audio.
AM is the closest I've found to that, but I dearly miss some of the old Cakewalk features.

Joe

On Aug 6, 2017, at 1:10 PM, Ole Kirkeby <m3roa...@gmail.com> wrote:

For a long time I have wanted to get rid of rests and ties, the left-over from TN which stubbornly clings to most AN systems. Since I do a lot of midi recordings I am used to looking at piano-roll notation, and I very much like that note onsets and durations are independent of barlines and downbeats. So what I have come up with is a modified piano-roll major-thirds notation implemented in Octave, an open-source Matlab clone. The project is on Github, https://github.com/olekirkeby/m3print. The original input is midi but it has to be converted to csv before it can be handled in Octave. For that purpose it is necessary to use another open-source program (http://www.fourmilab.ch/webtools/midicsv/). So you have to be a bit of a Linux-nerd if you want to try it. The best I can do at the moment is attach an example.

Ole Kirkeby

unread,
Sep 3, 2017, 3:06:22 PM9/3/17
to The Music Notation Project | Forum
The Octave-code is now updated to work with varying time-signatures.
SOS_ABBA.png
Reply all
Reply to author
Forward
0 new messages