Thursday, November 28, 2013

majalan

Copperbox revision 3034.

I've added a new note list fragment builder (Legato) that improves on Advance.

Although Advance is conceptually fairly simple, it is not so musically useful. Because it places events end-to-end it cannot account for staccato phrases - notes sounding for shorter than their notated durations - and legato / sostenuto phrases - notes sustained for longer than their notated duration. Despite being called Legato (for want of a name) the new fragment builder enables both.

Wednesday, November 27, 2013

majalan

Copperbox revision 3033.

I've changed the representation of PchEvent to be a function : pitch x duration -> Event rather than pitch -> Event. This eliminates yesterday's worry about needing a DrnEvent (now unnecessary) and allows a fairly consistent note list style if I use the redundant note combinator.

Tuesday, November 26, 2013

majalan

Copperbox revision 3032.

I've implemented trill as a combinator rather than a so called - by me - "constructor". Also I've tidied up Demo02 a little.

I'm wondering if Majalan needs object DrnEvent (wrapping : duration -> Event) as a intermediary between PchEvent > DrnEvent > Event. The chordal and trill combinators already use an unwrapped version and the unwrapped-ness adds clutter to user code.

Monday, November 25, 2013

majalan

Copperbox revision 3031.

I've added a PchEvent object (a newtype wrapped function : pitch -> Event) and implemented chordal as a combinator. PchEvent should allow other combinators for trills, arpeggios etc. and solve the scaling problem of the previous post.

majalan

Copperbox revision 3030.

First attempt at trills.

It looks like the idiom used yesterday for chords (defining a new event constructor) isn't really going to be scalable once I start to account for chords, trills, arpeggios etc. It looks like I am going to need a special version of Event for pitched events...


Sunday, November 24, 2013

majalan

Copperbox revision 3029.

First test of chords in a score. At the moment I define an second chord version of an instrument's event constructor - as pitch is one parameter out of several for an instrument (in some cases instruments may even be unpitched) I'm not sure a can write a chord combinator that takes an event and applies it to a list of pitches.

majalan

Copperbox revision 3028.

More work filling out intervals and chords.

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.