Csound Csound-dev Csound-tekno Search About

Re: sequencer

Date1999-07-27 23:36
FromMichael Gogins
SubjectRe: sequencer
Csound would have a new command option, call it -+S for "Midi Score".

With this flag, upon receiving a MIDI channel message of NOTE_ON or
NOTE_OFF, Csound would create a regular score line event, an "i" opcode with
p3 set negative. Csound would then push the running instrument instance onto
one pushdown stack in a grid eventStacks[16][127] dimensioned by MIDI
channel and key number. Upon receiving a NOTE_OFF channel message, Csound
would look up the corresponding stack in the grid, pop the running
instrument instance off of it, and set p3 equal to the elapsed time for the
instance. All of the instruments in these stacks are also in the playlist.

At that time, the running instrument instance would be just about to time
out. It could trap the timeout, allow itself to be turned off, turn itself
off, or, more likely, extend p3 in order to perform a graceful decay.

This is similar to what happens in Quasimodo with the new envelopes, but it
handles only the "note off" breakpoint. But it should be adequate.
-----Original Message-----
From: Paul Winkler 
To: Michael Gogins 
Cc: Csound List 
Date: Tuesday, July 27, 1999 8:22 AM
Subject: Re: sequencer


>Hi Michael,
>
>Just trying to follow the discussion here:
>
>Michael Gogins wrote:
>>
>> The p3 issue is a real one but it is not insuperable. The solution is for
>> realtime score events to have p3 set negative (infinite duration)
>
>This would be done by the note-generating application, not by csound?
>
>> until a
>> note off event, at which time the topmost realtime event on the stack
>                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>Which event is this? I could interpret this as "most recently started
>realtime event". But that's not necessarily the one the noteoff message
>is intended for... have I misunderstood?
>
>> is
>> popped off and its p3 set to the total elapsed time,
>                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>I don't understand what this accomplishes. At the time this happens, we
>have reached the "releasing" stage of this note; why does its duration
>now need to be set to the time that has already passed?
>
> at which point the
>> instrument can trap the note off and either turn itself off, let itself
be
>> turned off, or extend p3 to perform a controlled decay. This would indeed
>> enable the writing of the same instrument definitions for both realtime
and
>> non-realtime performance, and it would remove the necessity for the MIDI
>> note on and note off opcodes in Csound (although they obviously should
not
>> be removed).
>
>--
>
>----------------    paul winkler    ------------------
>slinkP arts:  music, sound, illustration, design, etc.
>
>zarmzarm@hotmail.com   --or-- slinkp AT ulster DOT net
>http://www.ulster.net/~abigoo/
>======================================================