Greetings:

  I've been running a number of experiments to make some firmer
determinations about just how the MIDI opcodes (particularly those from
Gabriel Maldonado) are working in the current version of Linux Csound.
Here are some preliminary results:

  1. Paul has written that Csound as a stand-alone MIDI environment just
doesnt' work. He's right, but I've discovered some interesting points.
If an orc uses "regular" sample rates (44100, 22050, etc) then Csound
will indeed just rip right through the notes. However, the MIDI playback
can be regulated by using higher sample rates (80000, 90000, etc), but I
don't think Gabriel intended sr to control his opcodes in this manner.
Btw, this is achieved without a write to disk, using something like this
command-line:

        csound -Q0 -n mymidi.*

Btw, it seems that sr=kr is mandatory, otherwise the notes just spin out
like crazy.

  2. Paul indicated that /dev/dsp "throttles" the MIDI output. This is
definitely true: I wrote some tests which did and didn't write to disk,
and the difference is indeed remarkable. So, one could write a "dummy"
instrument in an orcfile to regulate the MIDI stream, which again is
probably not what Gabriel intended.

  3. Worse yet: neither moscil, kon, or iondur are receiving the MIDI
note-off message. I've recorded output into an external sequencer and
found that note inception is correct, but the durations are for the
length of the play, regardless of what is indicated in the orcfile.

  4. MIDIfile playback has been unaffected by all this, and realtime
MIDI input is still working fine.

  So it seems that Linux support for the Maldonado opcodes is not so
firm as we'd like to see. I hope to be able to get into the internals,
but I think Paul is right: with the current situation there may be no
straightforward way to fix the timing problem. The note-off problem
should be fixable, I just have to find where it's broken. It has worked
in the past, I'd like to get it working again.

  Fred advised that ALSA is getting closer to a full sequencer API.
Could this be the answer ? I will check into what Jaroslav's been doing,
but I probably won't be trying the driver until I set up a new machine.

== Dave Phillips

       http://www.bright.net/~dlphilp/index.html
   http://www.bright.net/~dlphilp/linux_soundapps.html

Reply via email to