From: D.B. M. <db...@ho...> - 2008-05-16 02:03:45
|
Greetings, ---------------------------------------- > Date: Thu, 15 May 2008 15:32:28 -0400 > Subject: Re: [jazzplusplus-devel] Thoughts about the linux kernel - observed trends > > On Thu, 2008-05-15 at 12:13 +0000, D.B. Moore wrote: >> >> ---------------------------------------- >>> Date: Tue, 13 May 2008 22:10:47 -0700 >> >> >>>From thread ; >> >> >>> Subject: [jazzplusplus-devel] Debian Build and Run Attempt >>> >>> RV = Robert Vogel wrote me on Sun, 11 May 2008 23:14:04 -0400 >>> RV> Hi Pete, >> >>> RV> I tried compiling Jazz++ on my Debian Etch stable system. >>> RV> It looked ok throughout the build process, and it produced >>> RV> an executable. When I tried opening the executable, it >>> RV> didn't prompt for a configuration file, but it found one >>> RV> in my home directory. I'm not sure it is the correct >>> RV> jazz.cfg though. (attached) >> >> >> >>> RV> >>> RV> Rosegarden complains every time I start it that the >>> RV> 'system timer resolution is too low'. I know I need >>> RV> to find a RT kernel, but I've been too cautious to >>> RV> try one yet. Soon. That's why I need to be able to >>> RV> connect to an external device or to a soft synth. >>> RV> >> >> >> Thanks Robert, you've pointed out something we all know >> is a bit of an issue with linux. This really bites too when >> considering so called 'realtime' software applications, and >> timing sensitive transports like MIDI with linux. >> >> Here's my thoughts and current experience with things >> smelling of herring... >> >> Whether Robert really needs to 'find' a 'RT' kernel is >> probably up for debate. I mean...I haven't looked lately >> but patched&hacked RT kernels are out there, so are >> the patches needed to compile your own, but there is >> SO MUCH dated and old documentation out there, >> it's not surprising to find comments like this. >> >> There's a lot of the same out there. I actually know >> rosegarden (as a piece of software), and I'm also >> familiar with that runtime complaint about timer >> resolution. Old documentation leads people into >> believing they need an RT kernel - perhaps they do >> in certain situations - but most people do not. >> >> What they need to do instead, is reconfigure their >> linux source tree, recompile, install, and reboot to >> the new kernel. Compiling Jazz++ from svn is a >> doddle for most people compared to a kernel rebuild. >> >> In the configuration phase, they need to set >> the kernel timer resolution to 1000Hz. It can also >> matter (performance wise) which pre-emption model >> is selected, and what task-scheduling is selected. Or >> even how powerful (or not) their hardware is.... >> >> It's a minefield -- depending on just which linux distro >> people are using, determines exactly which kernel >> options were selected and configured in the 'standard' >> kernel build. Also, just how easy it might be for people >> to fix things themselves largely depends on which >> linux distribution they use as much as it does on their >> own skills or the instructions they might be following. >> >> >> I don't want to write yet another kernel howto - I am >> prepared to document this issue pretty much like I do >> here, pointing out the issues, giving out clues, but just >> because of the large disparity and possible difference >> between one linux distro compared to another, the user >> is very much largely on their own with that one. >> >> I'm just wondering if something more can be done about it >> ...or nothing at all....and I just somehow get the feeling, >> someday this will bite us all.... >> >> Regards, >> >> Donald B >> > Thanks for your note Donald. > > I think my version of this problem should belong to Debian. If they > accept a package into a stable version of thier distro, it should run > with the standard kernel...or they could offer a properly configured > one. I actually had the same thought....and really, it's one of the few sane thoughts one can have regarding this issue. I think the above should be -- 'if *any* distribution includes a package in the standard distribution which requires a low-latency or 'real time' kernel to work properly, then the distribution vendors should make available a binary kernel package for people who use such software to easily upgrade their kernel' Something like that is what I'm hoping will come to pass 'all of it's own accord'....but I'm a bit of a dreamer ;-) This isn't happening yet though, and it'll be (mostly) up to the users of a particular distribution to lobby their distro's development team to get such a thing happening at a distro level.... > > On the other hand, I can drive an external device or a software synth > with Rosegarden, so I don't feel that I'm missing much functionality > even without the RT kernel. > > Can anyone tell me that it is worth the trouble in terms of sound > quality to patch the kernel ? > > Bob Okay....here's my conclusions about what you ask here above ; 1. As Pete mentioned in a previous posting, the current stage of development with Jazz++ is trying to get the code stable and running on all 3 currently supported platforms, and have it able to replay a .mid file properly in all 3 cases. (pun ;) 2. If...like Bob here....you are trying to use Jazz++ with an externally connected MIDI instrument, and you discover it works, then this support in Jazz++ is incidental at the moment. We of course want to hear about such incidental success stories using the current version of Jazz++ with externally connected MIDI devices, however I am of the belief that problems (if any) found regarding the use of Jazz++ in this manner, are the focus of future developmental work with Jazz++.... 3. Current development testing is being done using softsynths. //relative to the above three points in caveat A> 'Sound quality' (by itself) is; -determined by the sound quality being produced by either the external MIDI instrument or the 'internal' softsynth of the platform being used. B> -replay- quality is quite a different thing, because it involves timing (of the notes being played)...in this case ; -- form a mental picture : you are replaying a .mid file using Jazz++ with an externally connected MIDI device. A passage of the score is quite complex, involving many percussive voices, bass lines, the whole works...and when replaying this passage you notice the external MIDI instrument 'dropping notes' or else 'dropping voices' as it moves through the score. These are timing issues that will affect the sound quality of the file being replayed, because certain notes, events, or voices aren't being reproduced by the external MIDI instrument. There can be a number of causes responsible for this sort of thing, and *one* of them is it's because your (linux) kernel isn't configured to handle this sort of 'real time' duty. C> In the case of replaying via softsynth (on linux), latencies in the kernel really *do* affect the sound quality and the timing issues. -- the timing issues will manifest themselves in more or less the exact same way as described above for external MIDI instruments. -- the sound quality of the softsynth output really sounds horrid if your computer/linux kernel isn't quick enough. The noise produced is best described as 'a harsh sound akin to static' and if you hear it once you'll always remember it. (not kindly, but you'll instantly recognize what you're hearing ;-). I think what I eventually might do, is put some sound files up on our site, which **audibly** demonstrate to users artifacts of sound quality directly related to linux kernel latency issues. That'd be about the best thing to do...IMHO....to help users conclude whether or not they need a better (faster) kernel for their setup. Hope this helps... Regards, Donald B _________________________________________________________________ Are you paid what you're worth? Find out: SEEK Salary Centre http://a.ninemsn.com.au/b.aspx?URL=http%3A%2F%2Fninemsn%2Eseek%2Ecom%2Eau%2Fcareer%2Dresources%2Fsalary%2Dcentre%2F%3Ftracking%3Dsk%3Ahet%3Asc%3Anine%3A0%3Ahot%3Atext&_t=764565661&_r=OCT07_endtext_salary&_m=EXT |