Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Dominic Espinosa" <dcespin@fastmail.fm>
To: alsa-devel@lists.sourceforge.net
Subject: Perl interface to alsalib MIDI?
Date: Fri, 08 Apr 2005 02:33:08 -0700	[thread overview]
Message-ID: <1112952788.6701.231408303@webmail.messagingengine.com> (raw)

Hello,

I'm interested in developing a rather specialized MIDI application, and
I could use some advice. I'm a sound technician and I work with a Roland
VM-7200 virtual mixing system. For the sorts of things I need to do with
it in live performance, I would like to be able to control the mixer via
MIDI. This is possible, but only through SysEx messages which use the
Data Set/Data Transfer method outlined by Roland in the MIDI
implementation for the device. The mixer has a zillion controls, and the
implementation chart alone is some 10 pages of tiny font (to give you an
idea of how much texty stuff I would have to handle). What I want to do
is send a series of SysEx messages, set up in advance, according to
certain keypresses. So, for example, pressing one key might mute a
predefined set of mixer tracks, and pressing another key might change
the parameters of the onboard effects unit and increase the volume of 3
faders by some value. Since the only thing I'm doing is
remote-controlling a MIDI device by sending a bunch of SysEx's, an
ordinary sequencer program is unsuitable. 

As you can see, this will be pretty heavy in the string-manipulation
department, since several hundred control messages have to be defined,
and then the user has to be able to set up a config file which describes
sets of control messages to send. There is not really any timing
requirement, except that all the messages should be sent within 1 - 2
seconds, and the app has to wait for at least 20 ms between each one (to
accomodate the mixer's protocol).

My first thought was to use perl, since it would be a simple matter to
set up a big hash of the possible control messages and then select the
sets and parameter values according to the user's config file. However,
I have not been able to find any references to using perl with alsalib.
Before I leap into perl-XS-land and write my own interface, I thought I
would ask whether this is likely to work well in the first place. I have
not done much audio development and this approach may be misguided.
There are a few MIDI modules for perl, but none of them are quite what I
need and they all rely on the OSS interface anyway.

A second approach would be to write in C and use XML or Guile as the
configuration language, but it seems like this would involve a lot more
code and may not be as flexible -- if I'm going for interpreted
functionality anyway, it seems better to write the whole app in an
interpreted language in the first place if possible. A third thing is
that I noticed something called 'alsalisp' in the distro, but I have no
idea what it is and can't find any docs.

Any advice would be appreciated!

-- 
  Dominic Espinosa
  dcespin@fastmail.fm



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

             reply	other threads:[~2005-04-08  9:33 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-08  9:33 Dominic Espinosa [this message]
2005-04-08 10:27 ` Perl interface to alsalib MIDI? Clemens Ladisch
2005-04-08 11:44   ` Dominic Espinosa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1112952788.6701.231408303@webmail.messagingengine.com \
    --to=dcespin@fastmail.fm \
    --cc=alsa-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox