| I feel like I'm monopolizing this mailing list of late, but it's all of
your own fault for providing me with such useful advice when I post! I am
now rendering high quality MIDI, and I think the process is stable.
Perhaps someone out there has a solution to my latest little "buglet".
I don't suppose that this is a bug in Csound, but when I played back my
rendered samples when I got my routine working, some of the drums would cut
off unexpectedly. I quickly traced this problem down to a situation where
one note was overlapping another so that the first ended shortly after the
second one began. I had set all of the note durations in my input MIDI
file to ten beats, well longer than any of my drum samples. I did this
because setting all of my drum note durations real short resulted in short,
clipped-off sounds. All I want is to have a sample play back completely,
and then stop when that percussion instrument is sounded. I assumed that
Csound might keep calling my .orc routine for as long as the sample lasted,
since it was non-looped, and I would have the choice of letting the ringing
of the last note add to the sounding of the next overlapping note (not
really objectionable for drums), or setting up some kind of global variable
scheme which would let a decaying note sense when a new note had started.
I had previously written a routine in Cakewalk Application Language which
shortened or deleted any note which overlapped the succeeding note. I
finally remembered how to get it to run (by selecting notes the right way),
but it takes a little while to run, and requires an extra step. I noticed
that there's an "ihold" opcode for .orc files, and thought it might allow a
note to keep ringing and not interfere with the next identical note later
in time. Adding this instruction to my instrument definition still
resulted in notes which were chopped off short when the previous,
overlapping note terminated. Is this one of those "works as designed", or
is this a bug? Has anyone out of all you Csound hackers come up with a way
to change this behavior?
It really doesn't affect the quality of the sound much at all, but I do
have to run it through that CAL script, which I am now revamping to work on
all keys. In processing envelopes, I think it's a good idea to let the
programmer have the raw sample data coming through, and let him/her process
it in whatever way they see fit.
Just asking an unimportant, wordy question,
Jackee Criswell
TheSilverSurfer@themall.net |