Serial to USB to MIDI to Confusion
RubrChicken
Posts: 39
I am attempting to make a crossfader that will interface with software DJ programs. I have a slide potentiometer and an ADC, but I am having trouble with getting MIDI data to the computer. I am running Ubuntu 10.10 (released this past Sunday) and the program I am using is Mixxx. I can receive data just fine over serial, but I need to convert this data to MIDI. Do I need to set FullDuplexSerial to (31,30,0,31250), because MIDI runs at 31250 baud? Or can I just set this to anything higher than 31250 to avoid latency issues? To clarify again, I do not want the propeller to have a MIDI port, I want it to have a virtual one over the FTDI connection.
Thanks for any help!
If I look like I am bumbling around, that is probably because I am.
(I did ask a similar question a while ago, but this time I cannot use a midi port, it has to be over USB)
Thanks for any help!
If I look like I am bumbling around, that is probably because I am.
(I did ask a similar question a while ago, but this time I cannot use a midi port, it has to be over USB)
Comments
It's running at 38400 instead of 31250, but it appears as MIDI device on PC side.
I guess it was used back at the time with some external device converting from 38400 to 31250, because MIDI rate was problematic on PC serial ports.
I don't recall the exact details right now, but IIRC you only need to set Prop to 38400, install the driver on PC side and configure it for the USB serial.
Alessandro
there is a "snd-serial" driver in ALSA doing approx the same thing, but I've tried modinfo on it, unfortunately it seems to be tied to the 16550 chip (it only allows port selection by ISA I/O+IRQ) so it's not useful with ttyUSBx :-(
However it works serial<=>pipe : if your midi app allows specifying full MIDI device name, you could try throwing a pipe at it instead.
But in the end the best thing would be a small C program, (properly) opening snd-virmidi, then USB serial, then cross-copying between the two when a select() call reports input data available.