Sunday, February 28, 2010

Neume

Copperbox revision 1154.

Work on a new beam grouping and bar splitting algorithm.

This one seems a lot more promising than previous attempts. What I'm doing is segmenting into metrical units that match each division of a meter pattern - say if I'm in 4-4 time with two beam groups each of a half note. I split the input stream into chunks of a half note in duration (possibly with some borrow). To turn the segmented stream into bars I take two chunks at a time and amalgamate them into a bar (beam grouping inside the chunk when necessary).

This is much simpler than what I was trying before, where I had split the input into single notes and beam groups and had to count them all again to form a bar.

I've easily accounted for a start anacrusis with the new algorithm and in my head it works for n-ary tuplets, though I have to work the details out - I'm still not sure what form n-ary tuplets should have in the intermediate syntax tree.

Blog Archive

About Me

My photo
Disambiguating biog as there are a few Stephen Tetley's in the world. I'm neither a cage fighter or yachtsman. I studied Fine Art in the nineties (foundation Bradford 1992, degree Cheltenham 1992 - 95) then Computing part-time at Leeds Met graduating in 2003. I'm the Stephen Tetley on Haskell Cafe and Stackoverflow.