And how is this done?
On Wednesday, December 14, 2011 06:44:58 AM Clemens Ladisch did opine:
> gene heskett wrote:
> > Java, by its scanning methods, finds a huge list of ports, but only
This java .jar logs to the screen that launched it, an error line for every
note in a file sent, except when the internal java synth is used. Example:
13 Dec 2011 17:28:25 WARN [dwproto-0-9 ] lhandler.DWProtocolHandler:
UNKNOWN OPCODE: 252
The opcode changes but nothing else.
> > If I switch to amidi -l, the list is a bit shorter:
For testing my hardware, aplaymidi -p client:port# song.mid
aplaymidi -p17:0 file.mid
aplaymidi -p14:0 file.mid
goes through the motions for the 29 second length of the file.mid, but
makes no sound.
amidi, otoh, returns (hw0:0) type answers and should be able to play a file
with the '-s song.mid' when the -p is one of
root@coyote Download]# amidi -l
Dir Device Name
IO hw:0,0 Audigy MPU-401 (UART)
IO hw:0,1 Audigy MPU-401 #2
IO hw:0,2 Emu10k1 Synth MIDI (16 subdevices)
IO hw:0,3 Emu10k1 Synth MIDI (16 subdevices)
The last 2 above.
However, I have no .syx files, whatever they are, to test with. Only .mid,
some of which are 20+ years old. They originate on a 'legacy' computer (a
TRS-80 Color Computer 3 running Ultimuse3 as .ume files, but which that
machine can convert to .mid by telling it to use a file as the output
device rather than its own hardware. The output device this old machine's
sw originally used was a bitbanger port running at midi's 31250 baud speed,
but the cpu in that machine has been changed to a slightly faster Hitachi
HD63C09EP, so that port now runs at about 37,000 baud and none of my
keyboards recognize the data.
So we now have a java app that runs on a 'server' box like this linux box,
which talks to this legacy machine at 115,000 baud using that bitbanger
port, which in turn allows the old machine to even access .dsk disk image
files as virtual disk drives by using the URL of the image, or service a
telnet client with up to 15 sessions, but one of those virtual paths is
accessed on the CoCo as /MIDI, with the .jar code then sending that .mid
style data someplace on this machine that knows what to do with midi data
when it comes up the cable. The .jar has an internal synth too, and can
feed its output to the sound card, but there are huge errors in the sound
because the 20 year old stuff is not GM. The melody line is a screaming
picolo being blown with a 175 psi air nozzle, very unpleasant.
The .jar reports a very lengthy list, 69 total, of potential places it can
send this rawmidi data, one of which I believe is equ to 14:0 above, listed
as choice "#68 realtime synth" in its pulldown, and which java somehow
expands most of into the "hw0:0" through "hw0:3" style. But in testing,
only the internal java synth makes noise, and I believe the error is the
lack of coupling between the 14:0 port shown above, and one of the 4 ports
at 17:0 through 17:3, none of which show in an "ls -l /dev".
[root@coyote johnny_cash]# ls -l /dev|grep 14,
crw-rw----+ 1 root audio 14, 14 Nov 17 21:02 admmidi
crw-rw----+ 1 root audio 14, 12 Nov 17 21:02 adsp
crw-rw----+ 1 root audio 14, 13 Nov 17 21:02 amidi
crw-rw----+ 1 root audio 14, 4 Nov 17 21:02 audio
crw-rw----+ 1 root audio 14, 9 Nov 17 21:02 dmmidi
crw-rw----+ 1 root audio 14, 3 Nov 17 21:02 dsp
crw-rw----+ 1 root audio 14, 2 Nov 17 21:02 midi
crw-rw----+ 1 root audio 14, 0 Nov 17 21:02 mixer
crw-rw----+ 1 root audio 14, 1 Nov 17 21:02 sequencer
crw-rw----+ 1 root audio 14, 8 Nov 17 21:02 sequencer2
So there seems to be a missing link, but where?
/rant on because its extremely frustrating:
IMO, linux has a huge disconnect in its handling of "devices", some of
which are shown above, but howinhell does a list like the above get
converted to a "hwN:N" format, IOW how or where is the lookup translation
table so that the user can trace this stuff himself without having to
pester several mailing lists in search of a solution.
Its a 17,000 pound bull elephant in full musk in the room that is being
One should simply be able to use the udev generated listing above and be
done with it, for everything. Somehow, I am not grokking the concept of
how this actually works. My fault? Damnedifiknow. URL's to read
And now it looks like I'll have to reboot to restore udev, playing with
"cat file.mid >/dev/one of the devices listed above" I seem to have trashed
the majority of my audio system. Sigh.... Off to reboot after nearly 27
> > From the lengthy output of amixer contents:
I see, thank you Clemens. I appreciate the help, a lot.
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
My web page:
* TheOne gets some salt, then proceeds to nibble on KnaraKat a little
Linux-audio-dev mailing list