On Tue, 2010-09-07 at 20:15 -0400, jordan wrote: > Hello, > > > I can use kontakt with wine (wineasio, etc), but it is difficult to achieve > > low latency for playing with a midi keyboard without pops and clicks. I have > > even tried wine with the wine-rt patch. Could you provide some information > > about your system (cpu, memory, audio interface) and jack and kontakt/wine > > configuration? > > The clicks and pops could be caused by poor irqbalancing, shared IRQs > or something is getting higher priority > than your audio stuff, and causing interference. one of your > schedulers might need some adjusting, depending. I will check this further. In fact, I use two soundcards at the same time, the motherboard's one at irq22 and the M-Audio at irq19. However, when dealing with audio production, I use jack only with M-Audio. The intelHDA just rests idle. First step will be to completely disable the MB soundcard from the BIOS. I will investigate if the relative irqs are shared with other devices. > how about your alsa.conf??? any of your own configurations. > One that might be important in this context is: > > "options snd_usb_audio nrpacks=1" - usb runs at full speed (if your > midi-keyboard/audio device is using USB). I will check this also, although the only physical midi connection I have currently is from the Roland-TD4 Vdrum midi-out to the midi-in socket of the M-Audio, no USB device. However, in the past, when running Fedora 11 with CCRMA packages and using an ESI USB->midi cable, performance was awful. For keyboards, strings or whatever else I use VMPK or a sequencer, until I get a real keyboard ;) > Do you use anything in /etc/fstab to speed up your HD, as well as > minimizing disk-writes? this may affect Kontakt, > as it can potentially be accessing your harddisk, quite a bit. are you > using DFD in Kontakt, or running samples from memory (from memory is > often better, although it will eat up your RAM) I minimize my DFD > usage... > If available, I use the sampler mode. Are you aware of specific tweaks in /etc/fstab that I could use? > as i do not own m-audio, i am not sure of the best settings there, i > would experiment, or look around forums for the ideal settings. i > would use lower quality settings, with lowest latency and work my way > up from 44100-16bit to 96-24bit. > I will continue experimenting. Currently, I have got the best results with 96000 16bit and 256 frames. However, using vsthost (dssi-vst) with superior drummer works flawlessly in many other combinations, even when using large samples (totalling ~1.2GB). > Right now, i am using; ( i say right now, because i am building a > much faster, rackmount PC ) > > Dell Inspiron 6400, 1.6 CoreDuo, 1gig DDR2 ram. 320gig SATA. > I have an IntelHDA(STAC9200) and an Edirol FA-101(firewire). > (Not very high-specs but works just fine, this was my testing ground > before i bought my rack.) > So my hardware should be adequate for running Kontakt. > Fedora 13 (with Planet CCRMA packages, minus the CCRMA kernel) > my kernel: 2.6.34-zen2.i686 (Zen-kernel compiled, > customized/optimized by me) with some CFLAGS for optimizations, like > compiling native to my CPU only, and i select only modules my system > requires ("make localmodconfig") I also use some fairly harsh > optimizations, which i can't recommend. i have to modify kernel code, > before compiling, so that it doesn't break and not boot, and so my > wireless driver works properly. lol. > > -kernel with preemption enabled, but I do NOT use igno-molnar's > rt-patches, nor rtirq. > -I do NOT use Irqbalance ( i balance them manually, and save my > configuration in /etc/rc.local for startup) > -I use the "BFS cpu-scheduler", finely-tuned for low-latency. (again > tuning saved in rc.local for startup) > -I use BFQ IO-scheduler, tuned for optimal IO operation on a SMP > system. (again rc.local) Could you post or send me your configurations for rc.local? > > Jack 1.9.6 (compiled myself) > -"classic Jack", as in no jackdbus or ladish... > - I use Jack-midi always, unless i am using wineASIO with a standalone > app. wineASIO uses ALSA-midi. > which is usually fine if i am playing keyboard live, just keep > jack's frames small. > - start jackd/qjackctl with: "/usr/bin/jackd -P89 -p128 -t8000 -dalsa > -dhw:0 -r44100 -p128 -n2 -P -Xseq" (intelHDA). > (i also disable audio in, in alsamixer, as if i am recording > audio-in i won't be using IntelHDA anyway) > - i'll have get back to you on my firewire startup (it's not in front > of me, right now). I tried these settings, both with the intelHDA and the M-Audio, but no real progress was achieved. > - * I also run Qjackctl with the command 'schedtool -I -e qjackctl'. > what this does is use a feature in BFS, that will give jackd and all > of it's threads a higher priority. it is called SCHED_ISO. Jack's main > thread will use FIFO, but all others will use SCHED_ISO, which has a > global setting of "75" on my machine. I will try this tonight. Should I suppose that this is connected with the above mentioned configurations in rc.local? > In my kernel config, for Zen-kernel(www.zen-kernel.org), there is a > setting to SCHED_ISO on X(xorg). I DONT use this setting, as my audio > needs priority above everything. this way i experience smooth audio, > no interference from my system. I can even use wireless while making > music, without it causing xruns.(which is known to happen). Interesting, I will check the AVLinux kernel build options > *** Wine 1.3.1 (compiled by me, standard version/not RT-wine) > - i only select features i am using. ie: no pulseadio, ISDN, etc. This may make a difference, I use wine 1.2 > - Useful Registry Keys: AlsaDriver--->UseDirectHW Tried this, but had no obvious effect > - Only ALSA selected in winecfg > - all debugging turned off. either in the registry or "WINEDBG=-all". I also use this option. With debug enabled, I noticed that moving Kontakt in a separate workspace or minimizing its window improves performance. Actually when the window is not actively rendered most of the debug messages are not generated anymore. > - Winetricks, when needed too. > -other performance tweaks, i can't think of off-hand. > > My setup, isnt exactly run of the mill or the standard for RT, > pro-audio in Linux. But on this machine, my method works awesome. I do > know how to optimize the standard schedulers + RT, and i still do > compare the two, but the way i am doing it, seems to be best for me. I > can make music for hours and hours without problems, and i can record > tracks in ardour just great... > > > Also, when using larger buffers and driving kontakt from a software > > sequencer, e.g. tuxguitar, I usually get distortions when playing chords. > > interesting, i've never used tux-guitar. I do experience distortion on > chords if alsamixer is set higher than about 75-80% (80% is actually > 100% gain, so above and beyond that, is actually over-driven in ALSA). > i would try lowering your gain, and also the gain in Kontact, until it > doesn't distort anymore. if that isn't the case, use smaller frames. > I always use 128, even when running 3-4 synths with FX, or editing > 12tracks in ardour, while recording a synthline.. > I only use larger frames, when doing "post-production", like FX, > automation and mastering. I noticed this morning that when this distortion happens, I instantly get high cpu usage, from 60% to 100% and then back to normal. This is more evident when I use two instruments at the same time with a sequencer, e.g. rosegarden, even if those instruments are really small (both in sampler mode less than 20MB). > my "craptop" with "the dreaded intelHDA"(so they say) almost is always > happy with 128frames. I keep mentioning the IntelHDA, because i > actually use it more than Firewire. As carrying around the FA-101 to a > jam, isn't really required. it is only handy for recording multiple > audio tracks at once. > I use a combination of "jacker" - a small midi-tracker for some > sequencing (it's very lite) and i use seq24 sometimes as well. then, i > just record right into ardour, with some cut and paste techniques, > bouncing tracks. > the kind of thing you do on slower machines. (like i used to do in > Protools on my old G4 mac) > > > I use a dual core Athlon 5200+, 3gb ram, M-Audio 2496 with 32 bit real time > > kernel PAE (AV Linux 4). I mostly run kontakt as a VST plugin with vsthost, > > since I cannot "see" the midi inputs when running as standalone. > > Nice hardware :) > > as Standalone with WineASIO - you need to have midi-seq enabled in > Jackd. then you will see midi, under the ALSA tab in Jack. From my own > experience, i would say either run it as a standalone with lower > frames(alsa-midi needs smaller frames to be more accurate), or use it > with FST, which will give you Jack-midi. using the rt-wine shouldn't > really matter, in fact FIFO scheduling Windows applications is a good > way to cause a soft/hard lockups of your system, if a plugin glitches > out. Hmmm...When I try Kontakt with fst it usually crashes or hangs. I will try again though. Also removing the JACK option from winecfg, provided midi inputs and outputs in standalone mode. > if you do run them with FIFO, don't run them with a high number... > VSThost is great, but you might want to use SAVIhost instead. Lots of > plugins may cause xruns in VSThost that won't give you issues with > SAVIhost/FST/or as a standalone Windows app(WineASIO). > I don't use any windows VST host for this reason alone..... Maybe I was not clear here. With vsthost I meant the executable from dssi-vst. But I will give savihost a try. > > Could you also post which instruments/libraries/NI plugins you use and work > > fine? > > I own NI Komplete. I mainly use Battery3, Massive, Absynth, but also > FM8, GuitarRig, Kontact. > Some of them cause xruns on startup, Battery works flawless, no xruns, > except when switching kits. > Massive and Absynth work the best. Massive never causes xruns, even at > 64frames. Abynsth only causes 2xruns on startup. these three are my > favorites. Kontakt i use alot too, in various forms, ie: "gariton > personal orcestra" or with the stock Kontakt programs. I also use > M-tron Pro a lot, it works great, and almost never causes xruns, has > only happened 2-3 times(ever) when i was switching programs. Kore2 > player may also work for you depending, but my system can't keep up, > it is too slow for that. ( i can use it, but it has crashed once or > twice, or i get splashes of xruns). But my machine is old, so i am not > surprised. > > all of the NI synths i usually run standalone (as i am playing them by > hand and recording), while if i was sequencing i would for sure be > using FST for Jack-midi or a2j. I always run Battery3 with FST. > > Beyond that (as i could go on listing plugins forever). the easist way > to find out what plugins are well-supported in Wine/linux, is to take > a good look through www.kvr-audio.com. ANY plugin that is "Recepter > Compatible" will run perfectly fine. this is because the Receptor is > built on linux and wine. There are many many others that will work as > well, because Receptor uses an older, probably custom version of Wine. > And newer versions of wine, probably can support more. but there will > be some trial and error, here. just so you know! > It seems that most things can work fine in linux and also could work fine with my hardware. So I just have to find out the correct configuration. > I hope that helps. Indeed :) > jordan