Re: MIDI input

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



x.zupftom@xxxxxx wrote:
I'm using Ubuntu 8.04 "Hardy" AMD64 on a dual core machine.
That's likely a plain-vanilla kernel. See if there's a low-latency kernel for that system, it might help.


Someone (who's not on this list) suggested it might be a polling issue.  With the S debugging switch I checked how often Dosbox reads the MIDI input buffer.  I found it depends on whether the buffer is filled or not.  If it's empty, Dosemu checks it about twice per second - if I play on my MIDI keyboard, it reads the buffer e.g. about 20 times per second.  That's more than enough for my purposes (precise timing is not a problem, I only need step time input).

The behaviour is really strange.  I tried playing a chromatic scale (staccato to make sure notes do not overlap) over two octaves at different speeds.  The results are mostly well reproducible:

- If I play at 120 bpm, the first eight notes appear, then nine notes are dropped, and the final eight notes appear again.  The notes (the program actually writes out the note names in text form) appear one after the other, one every 1.5 seconds or so.  I believe the time varies slightly, but I'm not sure.
- If I play at 92 bpm, the first nine notes appear.  The 1.5 second intervals are the same as with 120 bpm.
- At 126 bpm I have less consistent results.  Most of the time it shows the first eight notes correctly, then it either drops either 14 or 15 notes and displays the two or three last ones.  Sometimes the behaviour is even stranger.  The program simply shows garbage, even notes that I never played.  That looks more like a bug in the DOS program, but I never heard reports about such a bug under native MS DOS.  Maybe the program simply does not "like" the way MIDI input is implemented in Dosemu.

Sometimes the program hangs after inputting MIDI.  It does neither react to the keyboard nor to the mouse.  I just discovered that if I press some keys on the qwertz keyboard, they only appear if I press a key on the MIDI keyboard afterwards.  But the program does not accept any MIDI input any more.  The whole I/O seems to be messed up.

If the program hangs, pressing some keys on the MIDI keyboard may trigger that some notes are shown, but those notes do not correspond with the pressed key.  I first suspected they are notes that were still in the input buffer, but at least sometimes it seems to me that it's complete garbage that can't have been in the buffer.  Sometimes two notes appear upon one keystroke, sometimes only one.  Sometimes it hangs completely and does not even respond to the MIDI keyboard any more.

Maybe some background information can help finding a solution:  With DOS (or Windows), up to now, no user of this program has MIDI input working on a machine without ISA MIDI card.  Some of them even consider buying old used machines with ISA slots in order to work with MIDI input.  Output sometimes works fine, but input does not work at all without ISA.  What could be the cause for this?  What consequences might it have for running the program in Dosemu?  Dosemu could be an option for many users if MIDI input actually worked.

I still don't give up hope, though it looks almost impossible to get this working properly.
Well, it would help most if I have the program here myself. What is it and where can I find it ?

I'm guessing there may also be timer issues.

Btw, one advantage of systems like JAD or 64 Studio is that they've already addressed the latency stuff. Perhaps Ubuntu Studio would be another thing to try ?

Best,

dp

--
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Console]     [Linux Audio]     [Linux for Hams]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite Camping]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Samba]     [Linux Media]     [Fedora Users]

  Powered by Linux