Csound Csound-dev Csound-tekno Search About

MIDI release

Date1999-07-04 16:51
FromJosep M Comajuncosas
SubjectMIDI release
Hi all,
I´ve been having some problems while trying to MIDIfy one of my
instruments. I require to extend the note by irel seconds, and I should
then use xtratim. But how do I define the overall volume envelope? with
linsegr or linenr it seems that the note will be extended even more,
according to the release time of that envelope generator. I couldn´t
find any reference to the "irind" flag which in theory should allow
linenr and linsegr work on extended notes without extending them by
themselves...or something like that.
Any idea?

Thnaks in advance!
Josep M

--
Josep M Comajuncosas
C/ Circumval.lacio 75  08790 Gelida - Penedes
Catalunya - SPAIN
home phone : 93 7792243 / 00 34 3 7792243

Csound page at http://members.tripod.com/csound/



Date1999-07-06 03:01
FromPaul Barton-Davis
SubjectRe: MIDI release
>I've been having some problems while trying to MIDIfy one of my
>instruments. I require to extend the note by irel seconds, and I should
>then use xtratim. But how do I define the overall volume envelope? with
>linsegr or linenr it seems that the note will be extended even more,
>according to the release time of that envelope generator. I couldnt
>find any reference to the "irind" flag which in theory should allow
>linenr and linsegr work on extended notes without extending them by
>themselves...or something like that.
>Any idea?

bwa-ha-ha-ha!

i think you will find that getting csound to fully integrate MIDI into
the activation and deactivation of voices to be quite problematic, and
at the very least, quite challenging. its not that it can't be done,
but it is tricky and very cumbersome. gabriel maldonado has some
examples amidst the documentation for some of his MIDI opcodes.

the documentation on *r opcodes seems quite out of date. however, the
basic feature you need to know is that (in theory) no note extending
opcode will have any effect unless it is trying to extend the note by
more than its current extension. So if xtratim (who dreams up these
opcode names anyway :) extends by 2 seconds, and linsegr extends by 1
second, only xtratim will take effect, and vice versa. 

This is, however, in theory. if you write your instrument in an odd
way, or you use an *r opcode whose author doesn't obey this rule (i
don't know of any, but i wouldn't rule it out), it won't apply. as it
happens, the opcodes you mention should work OK.