Monday, January 28, 2013

om-shell

Copperbox revision 2934.

I've updated the demos to work with the changes to Majalan and added a new combinator to Majalan to nest a note list inside a finalizer. The finalizer takes the time span of the inner note list, so this combinator can be used to set zak based effects to operate on the note list as if it were a track.

Sunday, January 27, 2013

majalan

Copperbox revision 2933.

I've reworked the EventList datatype / monad into two variants - one supports events at arbitrary onset times, the other supports events next to each other in the style of width vectors in computer typography - i.e. an event doesn't have an explicit onset time instead it starts at the point the previous event finished, the duration of the event moves an internal cursor representing onset time forward.

Saturday, January 26, 2013

ochre

Copperbox revision 2932.

I've added some more granular synthesis opcode wrappers. Particularly partikkel has 40 arguments - controlling this opcode will take some effort and suggests a future design might make a distinction between a high-level API and a raw one as per the Haskell OpenGL binding.

Tuesday, January 22, 2013

ochre

Copperbox revision 2931.

I've added the other waveguide opcodes to the Ochre.Language.SignalModifiers module.

Basically this is a brazen attempt to improve my commit number for the month - I can wrap opcodes without much thinking - otherwise this month threatens to be my least productive for years.

Monday, January 21, 2013

om-shell

Copperbox revision 2930.

I've added a waveguide bowed bar instrument. This is one of the physical models from the Csound manual - it makes an attractive enough sound that I can use it for demos as I work on my score language Majalan.

Sunday, January 20, 2013

majalan

Copperbox revision 2929.

I've changed the implementation of EventList to use a datatype representing state rather than pass the two parts of state as separate arguments (the result always had to combine them of course). This is a prelude to making the onset times of events in a notelist relative rather than absolute. With relative onset times it is easy to repeat a notelist after itself - all we have to do is shift the initial onset time of the repeated notelist.

Saturday, January 19, 2013

om-shell

Copperbox revision 2928.

I've updated all instruments to use Parsec Token style modules. Whilst doing this I notices I haven't been very consistent in using camel-case (or avoiding it) for instrument names - I will have to unify the naming scheme at some point.

Thursday, January 17, 2013

om-shell

Copperbox revision 2927.

I've modified FMBell to use a Parsec style module that is instantiated with instrument number - this should make scores safer as the event, instrument and column specification are instantiated with the instrument number in one place rather than three.

Sunday, January 13, 2013

ochre, om-shell

Copperbox revision 2926.

I've changed the symbol for the assignment operator in Ochre and added variations to assignment to an unlifted signal and "self re-assignment" with a signal modifier.


Tuesday, January 1, 2013

majalan

Copperbox revision 2925.

I've added a catalogue of named pitches and fixed a bug with the affine addition of intervals to ET12 pitches - adding negative intervals didn't work and this caused affine subtraction to err.

majalan

Copperbox revision 2924.

I've added symbolic pitch representation that is higher level that just using hertz values. Pitches can be specified in a pitch class notation and rendered to hertz depending on a "global tuning" usually A=440hz.

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.