08-17-2018, 01:49 PM | #1 |
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
VSTi host and latency
Currently I am using Airwave to host my VST/VSTi plugins, but the lowest latency I can have REAPER set Jack to is 512 samples. If I run 96k it feels pretty tight, but at 48k it begins to feel laggy.
If I'm not using any VSTi plugins, I can run the same as I do with the same hardware in Windows, which is 64 samples and super tight response, but if I try to add a VSTi with anything less than 512 samples, it will lock REAPER up where a reboot is needed to gain control over the hardware again. Anyway, it just occurred to me that maybe one of the other WINE hosts for VST/VSTi plugins might be more latency friendly than Airwave. Has anybody bench marked the three or so that exist? |
08-18-2018, 01:49 PM | #2 |
Human being with feelings
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
|
I've never managed to get airwave working, have only tried linvst. I would suggest trying linvst too, to see if it works better. Seeing how these bridges work, I think one can't really expect it to work as well as in windows, on the other hand 512 sounds very high, and it's definitively not normal that the entire linux box would hang and require a reset..
I think we'll need to see how all this plays out on the long term, but IMO windows vst(i)s ought to be ok in reaper for mixing, and most likely many of them ought to work for live monitoring, but it's hard to say to what point and how well.. One question is what have you done to optimize your system, can you memlock and run rt priority threads? Have you installed a lowlatency or realtime kernel? You can also try to use reaper without jack, as it can handle both audio & midi directly via alsa nowdays. I also did submit a patch for linvst that would improve it's realtime performance but it never got included in the code, and now it's changed so much that the patch is useless. But I kind of lost interest seeing that I wrote code for nothing To sum it up, I think on the long term we can probably get quite far with the performance of windows vsts on linux, but it's never going to be as good as on native windows (which is natural), native linux plugins will always have a performance edge. What remains to be seen is how far someone can take the performance and what will be possible or not.
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :) |
08-19-2018, 07:50 AM | #3 |
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
If I don't try to use any bridged from WINE VSTi instruments, I can record audio and midi using Jack running 44/24 @ 64 samples latency with 2 buffers, which is exactly how I run the same machine in Windows with REAPER.
If I try to use an instrument with WINE and Airwave, anything less than 512 samples latency in Jack will cause REAPER to get stuck trying to initialize the audio device to the point that I have to shut it down using the task manager. Once that has happened, the audio hardware is in a lock state and trying to launch REAPER again will error out trying to access hardware that appears to still be in use. That's when I end up having to reboot to get control again. I'm sure I could probably reset audio in a terminal window, but I'm not yet familiar enough with Linux to know which module (Pulse/Asio/Jack) would be the one or what the command would be, so I just reboot. I did a quick test using ReaSynth and a mic, and I can record clean audio and midi with no pops or clicks running at 64 samples latency. What kind of native Linux instruments can we using in the native Linux version of REAPER? I'd be interested in seeing how well midi works with some native Linux instrument plugins. Edit: I forgot to mention that I did record a 25 track test song with real bass and real guitars, but all midi instruments for everything else. EZ-Drummer with Drumkit From Hell, Native Instruments B4 organ, Etc. Tracking at 512 samples was a bit laggy feeling, especially on the last tracks when the song had gotten fairly busy. https://soundclick.com/share.cfm?id=13768605 Last edited by Glennbo; 08-19-2018 at 08:11 AM. |
08-19-2018, 08:30 AM | #4 |
Human being with feelings
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
|
You can try some of the u-he linux vsts. New betas: https://www.reddit.com/r/UheOnLinux/hot/ and the old ones: https://www.kvraudio.com/forum/viewtopic.php?t=424953 or maybe pianoteq: https://www.pianoteq.com/.
What distro, what did you do to prepare it for low latency, and what kind of soundcard? Also try reaper with the ALSA driver for midi and audio, that would exclude JACK from the equation. Edit: But rereading your msg, it's apparently windows vsts that cause your problem, so maybe try linvst instead of airwave? Edit 2: Seeing that you seem to be a drummer, maybe this is interesting, though I've never tried it myself: https://www.drumgizmo.org/wiki/doku.php There is also the http://x42-plugins.com/x42/x42-avldrums that can be run with another wrapper: https://github.com/x42/lv2vst, but maybe best to stay with native lvst. So I'd say try the u-he ones, they are very nice!
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :) Last edited by Jack Winter; 08-19-2018 at 08:39 AM. |
08-19-2018, 09:01 AM | #5 | |
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
Quote:
I tried using ALSA, but couldn't get midi to work. I did however experiment with manually creating a couple of measures of midi with my mouse, and just like with Jack, ALSA needed 512 samples of latency or REAPER would hang up. If I set ALSA to 256 with a midi instrument on a track and hit play, REAPER becomes unresponsive. Do the same thing at 512 samples, and it plays without any artifacts. I plan to try LinVST, and just haven't yet since it seems like from what I've read, will require a lot of hand copying, and typing commands in a terminal window. Airwave had a .deb or whatever they are installer and it put everything where it needed to go for me. Should I completely remove Airwave before trying LinVST? I'm not even sure I would know how to remove it, since an installer installed it for me. What I would prefer to try if possible is to have both installed, where I could do some A/B comparisons and then only keep the one that performs the best. I plan to try some midi instruments that don't have to jump through so many hoops to see what that is like as well. Thanks for the links, I'll check them out. |
|
08-19-2018, 10:07 AM | #6 |
Human being with feelings
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
|
Well then I don't think you are going to get all that far...
I feel sorry even though I'm in no way personally responsible for Linux audio. Personally I think that distros should do a better job at this, though low latency audio is probably not a concern for most... It would probably work a lot better if you tried something like https://www.bandshed.net/avlinux as it does this by default for you. Otherwise do the following: 1. Install a lowlatency kernel, should be in your repos. 2. Make sure that you reconfigure the system so that you get the ability to run realtime threads and lock memory. Normally accomplished by editing a file called limits.conf in /etc/security (the details might wary slightly depending on your distro). add the following and login again: your-username - rtprio 98 your-username - memlock unlimited 3. Verify that the above worked by running the command ulimit -a 4. Make sure that JACK is running realtime (preferably at priority 80), this is pretty easy if you are starting it with qjackctl. These changes should already allow you to go a lot lower in latency. If you need even lower latency without xruns, I'd recommend getting hold of a realtime kernel, and to install and configure the rtirq script to configure your soundcard interrupt to run at a priority 95. There might be another couple of minor tweaks, like making sure that the cpu doesn't go into power save states, etc, but that would be more or less all that one typically would have to do to get really low latency. It might also be very helpful for you, if you were to add the http://kxstudio.linuxaudio.org/index.php repos to your xubuntu, as that would give you access to quite a lot of good linux audio programs, and fix potential problems with the software distributed by ubuntu. When did you try alsa with reaper? The ALSA midi support was recently added. I don't think it would hurt at all to have both linvst and airwave installed. Linvst seems complicated, but once you get the hang of it it's not very hard. It also comes with some scripts to automate the procedure, though I've never tried as I made my own before they were available. Basically you install the linvst package, then you probably should remove the .so files that airwave installed along side your vsts (same name as the .dll but ending in .so). finally either run the scripts to set it up, or manually copy linvst.so to plugin-name.so. I think probably at this point the biggest problem is that you don't have a lowlatency kernel, and that you haven't setup limits.conf properly. Also running JACK without realtime privs isn't helping. Hope this was helpful and not too confusing You are also welcome to visit the freenode irc channel #reaper-linux, where it probably would be a lot easier and faster to help you. Also check out the following link, it's a bit dated right now, but I intend to fix it up a bit: https://wiki.cockos.com/wiki/index.php/REAPER_for_Linux Break a leg!
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :) |
08-19-2018, 11:13 AM | #7 |
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
If I forget about midi and only do audio, Jack set for 24-bit 44.1k using 64 samples latency and two buffers gets me 1.4/2.9ms in REAPER, and I can record just fine with no artifacts, pops, or clicks.
I got LinVST working and have spent the morning doing A/B tests between it and Airwave. This is what I've found so far. LinVST will let me run at 256 samples, but only when not much else is going on. Loading my test song that I posted earlier, I can play it at 256, but it has artifacts in the audio. Increasing it to 512, LinVST plays that song as well as using Airwave. The other thing I've noticed is that one of the synths I used in my song does NOT get it's patch parameters set properly when using LinVST, but does when using Airwave. If I select the patch that it is already on when using LinVST, all the dials on the synth change to their proper values for the patch, but don't switch upon loading the song like they do with Airwave. In summary, LinVST is a little more efficient, and won't hang REAPER up, even when latency is set lower than it can play without artifacts, where Airwave will hang REAPER up with anything less than 512 samples of latency on my system. LinVST did not dial up the parameters correctly on one synth, although it did fine on all others. Airwave does dial up the parameter on the synth properly when performing the same test. I've got it setup so I can instantly switch between Airwave and LinVST by having two .vst folders with the same group of plugins in each. I'm just renaming the folders so that whichever one currently has the .vst name, that will be the VST host I'm currently using. The next thing I plan to try is some midi plugins that don't have to jump through the WINE hoop. I'm betting I can run those at real low latency without having to get WINE involved. The whole reason I even setup this dual boot machine was to get all internet related stuff out of Windows in preparation for January 2020. I have zero desire to run Windows 10, so when support for Windows 7 ends in 2020, I plan to be as free from Windows as possible. If by then I don't have REAPER as functional as it is in Windows 7, I'll still have Windows 7 that I can boot up and just not have it connected to the internet any longer. It's looking less and less like I will need to dual boot in 2020 though, because I can already do in Linux about 90% of what I do in Windows with REAPER. I'm missing a few nice commercial plugins and have higher latency, but only when using midi with WINE as a bridge. Last edited by Glennbo; 10-22-2018 at 04:14 PM. |
08-19-2018, 12:24 PM | #8 |
Human being with feelings
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
|
Well this is all something in progress, I'm sure it can be made better, and who knows maybe cockos will write a kick ass wrapper to host windows plugs on linux. B)
But I'm also sure that part of the problem is using ubuntu and not having done the necessary tuning to get lower latency. Who knows, maybe when 2020 rolls around we'll have what you need! Do report the problem with loading of patches to osxmidi, maybe he can figure out what is wrong with that plugin in linvst.
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :) |
08-19-2018, 01:06 PM | #9 | |
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
Quote:
This is on an un-tweaked Xubunutu with the stock kernel. As long as I'm not trying to emulate Windows for Windows plugins, I'm getting stellar performance. Using native Linux instrument plugins appears to be many many times more efficient than running emulated Windows plugs. I'm hoping that Justin will whip out some of his voodoo magic on making a real efficient compatibility layer for Windows plugins or plugin makers will start including Linux as an included platform. |
|
08-19-2018, 01:11 PM | #10 |
Human being with feelings
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
|
I'm with you all the way on that!
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :) |
08-19-2018, 01:39 PM | #11 |
Human being with feelings
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
|
For what it's worth, Ubuntu Studio and (I think?) AV Linux both have low-latency kernels out of the box, and both use XFCE if that's a preference.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :( Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate |
08-19-2018, 01:59 PM | #12 | |
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
Quote:
Shortly after setting up my SSD for dual boot, I noticed the native Linux version of REAPER, and since I was running Linux for all my normal day to day stuff, decided to try it out and see what I could do with it. From what I'm seeing, doing audio and native Linux plugins, I can run every bit as low latency as I can when booted up in Windows, and since I record mostly audio tracks with real drums, real guitars, and real bass, I may do some serious projects in Linux. I might even start looking at buying a few native Linux plugins too. |
|
08-19-2018, 02:11 PM | #13 |
Human being with feelings
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
|
I might be wrong, but I think AV Linux comes with a realtime kernel as default. At least it used to.
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :) |
08-19-2018, 06:56 PM | #14 | |
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
Quote:
I say for the most part meaning before lots of other plugins get added for mixing a stereo master. Loading my test song which has 12 softsynths plus 54 additional FX (all Windows VST/VSTi) across 25 tracks, and it can't play without artifacts at 128 samples. Doing tracking on a new song however should be no problem at 128 samples, and I can easily run like that until a song gets really loaded up. I did also install the distro version of the low latency kernel issuing a "sudo apt-get install linux-lowlatency". Can't say that I see any difference good or bad so far, but it didn't break anything so I'm leaving it for now. |
|
08-19-2018, 07:50 PM | #15 | |
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
Quote:
/usr/bin/jackd -dalsa -dhw:M2496,0 -r44100 -p128 -n2 -Xseq Should changing it to this with the added -R switch be all that's needed, /usr/bin/jackd -R -dalsa -dhw:M2496,0 -r44100 -p128 -n2 -Xseq or is that even necessary since it says the default is already realtime? Issuing jackd by itself comes back with this Usage: jackdmp [ --no-realtime OR -r ] [ --realtime OR -R [ --realtime-priority OR -P priority ] ] (the two previous arguments are mutually exclusive. The default is --realtime) EDIT: OK, THAT made some difference! I can play my test song now without a pop or crackle at 64 samples latency. That's how I always ran this machine in Windows with REAPER and it looks like I can do it in Linux now after those last tweaks. Last edited by Glennbo; 08-19-2018 at 08:06 PM. |
|
08-19-2018, 08:50 PM | #16 | |
Human being with feelings
Join Date: Feb 2014
Posts: 620
|
Quote:
Open a terminal and enter sudo add-apt-repository ppa:damentz/liquorix && sudo apt-get update and then sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64 and reboot The stock kernels are not the greatest for audio and the Liquorix kernel is probably a better option. Another thing is installing rtirq https://packages.ubuntu.com/search?keywords=rtirq-init Download the appropriate deb file and then open a terminal and enter sudo dpkg -i rtirq-init_xxxxxx.deb I've got the same M-Audio Delta 24/96 cards and they can be ok with the right kernel and rtirq and realtime jack. I've also got a M-Audio Revolution 7.1 in an i7 and Windows 10 and I can't seem to get less than 8ms input latency when recording using asio/wasapi but playback can go much lower. Recording with things like LinVst is probably not going to as good as playback. What synth is LinVst having problems with?, I'll look into it. Last edited by osxmidi; 08-19-2018 at 09:06 PM. |
|
08-19-2018, 09:13 PM | #17 | |
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
Quote:
The synth with the anomaly is this freebee simulation of an Oberheim Two Voice. http://vst4you.com/pages/vst%20instruments/or2v.html When I load my test song up and open the UI, it is sitting on the correct patch, but sound-wise it is not. Then just clicking the same patch that shows as already being selected, all the dials on the synth change, and the becomes the correct sound. My next quest will be to figger out a construct of this line, /usr/bin/jackd -R -dalsa -dhw:M2496,0 -r44100 -p128 -n2 -Xseq that will include "-dhw:M2496,1", because I can only access the first of the two cards in REAPER so far. In Windows, selecting ASIO makes them both show up so I have four analog inputs. Thanks to you and Jack for all the help. |
|
08-19-2018, 10:28 PM | #18 |
Human being with feelings
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
|
Try with: /usr/bin/jackd -P80 -dalsa -dhw:M2496,0 -r44100 -p128 -n2 -Xseq
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :) |
08-19-2018, 11:01 PM | #19 | |
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
Quote:
Also, I changed the -p128 argument to -p64 and it's all happy! Thanks for all your help. |
|
08-19-2018, 11:45 PM | #20 | ||
Human being with feelings
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
|
Quote:
This can be accomplished by installing & configuring rtirq, or possibly using udev-rtirq (https://github.com/jhernberg/udev-rtirq). If you chose rtirq, you need to manually configure it, I'd leave out rtc, usb, etc and only let it change the priority of the soundcard interrupts. udev-rtirq is a small utility that I wrote myself that makes this automatic, it even works when hotplugging FW/USB soundcards, the drawback being that it still needs a little work as it might not function correctly when the soundcard shares interrupt with some other card. Quote:
A few additional thoughts: If you can find it for your distro, installing a realtime kernel probably won't lower the latency much if at all, but it will make xruns under load less likely. Seeing your unsymmetrical latency values tells me that you are using JACK2. It uses double buffering on the output by default, you can disable that by adding the -S parameter to your JACK command line, in this case try: /usr/bin/jackd -P80 -S -dalsa -dhw:M2496,0 -r44100 -p128 -n2 -Xseq It might be of no concern in your case, but since there is no card specific driver used on linux, the system only knows about the latency calculated from buffersize x period / samplerate. You could load reainsert on a track and do a loopback test to determine how many samples of "hidden" latency you have. This can be added in reaper's recording prefs so that reaper knows how much extra latency compensation to use when overdubbing. It can also be added to the jack command line, something like: /usr/bin/jackd -P80 -dalsa -dhw:M2496,0 -r44100 -p128 -n2 -Xseq -I47 -O48 (which will make sure that all JACK clients align recorded audio properly). Edit: The only additional thing I can think of, would be to make sure that there is no CPU power saving in use while running reaper, but how to do this depends on your hardware. This is already getting long, so let's leave that for another post
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :) Last edited by Jack Winter; 08-19-2018 at 11:54 PM. |
||
08-20-2018, 07:31 AM | #21 | ||||
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
Quote:
Quote:
Quote:
Quote:
Thanks again for all the help. EDIT: I did find "rtirq" in Synaptic, so I installed it. Does it need to be hand modified, or will it do it's thing automatically? Last edited by Glennbo; 08-20-2018 at 07:45 AM. |
||||
08-20-2018, 09:20 AM | #22 | ||||||
Human being with feelings
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
|
Quote:
The main drawback with USB is that it gives quite a lot of extra latency on Linux, and annoyingly the "hidden" extra latency changes when you change buffersize (not a fixed value). This might not be a problem depending on how you record. I don't monitor through the DAW so I just set a high buffersize, make sure that I configure reaper to properly compensate for the extra (hidden) latency and then just forget about it. Seeing that your existing cards are PCI they likely are lower roundtrip latency and have a fixed overhead, so much nicer to use in this context. Quote:
Quote:
Quote:
The lowlatency kernel is already very good and there are many that claim that there is no need for a realtime kernel. Personally I would dispute this, but I might also be wrong, or it's a question of what hardware you have and how hard you push the system. The realtime kernel is basically the same (a kernel capable of preempting running threads to run other threads) but it removes some existing bottle necks in the kernel to lower thread scheduling delays. That is to say it will probably be just a bit less likely to cause xruns (dropouts) in your audio. But as you say, no hurry and cross that hurdle when you have too Quote:
Quote:
I'd edit /etc/rtirq.conf and change it to the following (comment out the rest): RTIRQ_NAME_LIST="snd" RTIRQ_PRIO_HIGH=95 RTIRQ_PRIO_DECR=1 Then after rebooting run "rtirq status" to see if it had the desired effect. Additionally for this to work, you might have to add the "threadirqs" irq boot flag to your boot manager, I don't know if this is needed or not on ubuntu. Note that I've hardly ever used rtirq myself, so I'm not 100% sure about all the details. But hopefully this gets it working on your system and doesn't cause any problems!
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :) Last edited by Jack Winter; 08-20-2018 at 09:27 AM. |
||||||
08-20-2018, 10:13 AM | #23 | |||||
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
Quote:
Quote:
I also have the OS set to not hide anything from me, so it is a cluttered bunch of stuff in the file browser, but I can see everything that is going on. Quote:
Here's the output. 0 [MID ]: HDA-Intel - HDA Intel MID HDA Intel MID at 0xf9ff8000 irq 32 1 [M2496 ]: ICE1712 - M Audio Audiophile 24/96 M Audio Audiophile 24/96 at 0xec00, irq 16 2 [NVidia ]: HDA-Intel - HDA NVidia HDA NVidia at 0xfbcfc000 irq 17 3 [M2496_1 ]: ICE1712 - M Audio Audiophile 24/96 M Audio Audiophile 24/96 at 0xe400, irq 17 Quote:
Quote:
Getting both cards to work in REAPER would be the most beneficial thing for me at this point, as it seems latency is every bit as good as it ever was in Windows. Being able to record four simultaneously tracks of my acoustic drums would be another major breakthrough event for me. Last edited by Glennbo; 08-20-2018 at 10:24 AM. |
|||||
08-20-2018, 10:47 AM | #24 | |
Human being with feelings
Join Date: Feb 2008
Location: Finland
Posts: 160
|
Quote:
|
|
08-20-2018, 10:58 AM | #25 | |
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
Quote:
I tried using ALSA with the latest version of REAPER, but I couldn't get midi to work. I suspect that it was locked by some other process. Jack audio is giving me stellar results, but currently only sees one of the two M-Audio Delta 2496 cards. |
|
08-20-2018, 11:10 AM | #26 |
Human being with feelings
Join Date: Feb 2008
Location: Finland
Posts: 160
|
I've been searching around, and my original questions on the ubuntuforums are long gone (I think they had a security issue and the old forum was scrapped a number of years ago. But I did find an old post related to qjackctl.
http://www.rncbc.org/drupal/node/180 But you are starting jack from Reaper directly - so you would need to just open a terminal and run alsa_in from there (after Reaper starts jack). Also, in that post I mention alsa_in was only included in Jack1 - that's definitely not the case, as it is installed with Jack2 in ubuntu these days. At any rate, alsa_in adds channels from another alsa card to the card that jack is using. In the qjackctl post from 2010, I mention my command was "alsa_in -d hw:1". In that case I was trying to add my Alsesis Multimix to the onboard sound of the laptop. hw:0 was the first card started in jack. Alsa_in added hw:1, the second card to that. There's other modifiers that can be added, but keeping it simple like that worked well enough for recording 3 minute power pop songs, even with 2 unlinked usb interfaces. From your alsa info above, it looks like you would need "alsa_in -d hw:3"if jack is using your other Audiophile hw:1. A useful link about alsa_in and Alsa_out: http://www.penguinproducer.com/Blog/...ces-with-jack/ But reading about zita_ajbridge, it may be able to do the same, but better. Never used that, though. https://kokkinizita.linuxaudio.org/l...uickguide.html Last edited by eric71; 08-20-2018 at 11:45 AM. |
08-20-2018, 12:40 PM | #27 | |||||
Human being with feelings
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
|
Quote:
Quote:
Quote:
You might also want to start qjackctl to get a display showing if there are any xruns. Reaper's performance page also has something called RT biggest block. The first value should stay under the second, as if it exceeds it then not all audio got read/written. It should also be possible to create a combined device using alsa user space, but I have no idea how that works when a system has pulseaudio installed and would have to google how to do that. It would probably be the better long term solution as then you wouldn't have to run the above utilities Quote:
Quote:
If you already rebooted, just run rtirq status and see what it says, you ought to see the soundcards at the top with high priorities. Otherwise you have to add the threadirqs boot flag in your boot managers config file.
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :) |
|||||
08-20-2018, 04:48 PM | #28 | ||||
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
Quote:
1. Start QjackCtrl 2. Open a terminal and then issue the command, zita-a2j -d hw:3 which hangs the terminal window till that process is stopped. 3. Fire up REAPER, and now I can get to all four inputs. I'm wondering if it is possible to still have REAPER launch jack for me, and still get all four inputs. If not, I'm assuming I could write some kind of script that gets launched by QjackCtrl, after it has fired up. I already have it directly issuing the command a2jmidid -e & to make midi work when I don't have REAPER start jack for me. Quote:
Quote:
What I really want to make happen at this point is to get both my cards available to REAPER without having to go through a bunch of steps or procedures in order to record drums. Quote:
|
||||
08-20-2018, 10:24 PM | #29 | |||
Human being with feelings
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
|
Quote:
Personally I think reaper's JACK device page could use some more love. I'll think about it and try to see if I could come up with a coherent FR to make it more flexible I don't know of a way to do more than starting the jackd server itself from there, anything more complex will need some external help. There are probably multiple ways of doing this, but that would get a long post and I'm tired... Let's start with trying to get it all up and running from qjackctl. In the field you used to start a2jmidid you can chain commands by putting a ';' between commands, so try using "zita-a2j -d hw:3;a2jmidid -e". You can probably also point to a more complex script there, though I've never tried myself. I'm a bit puzzled that you can't use hw:M2496_1, but let's go with hw:3 for the moment. Then start qjackctl and once it's up and running launch reaper with JACK selected as device, and autostart jack unchecked and the autoconnect options checked. Quote:
Quote:
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :) |
|||
08-20-2018, 10:58 PM | #30 | |||
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
Quote:
Quote:
What I just realized is that I can have my original line that worked so well in REAPER so I can directly launch REAPER still, but it will fire up with only two channel capability, which is fine for everything I do except record acoustic drums. Launching QjackCtrl will still get everything setup, and even though REAPER is set to do it's own start of jack, once it's up, I still have four channel recording capabilities. So unless I'm recording drums, I can just launch REAPER from the REAPER icon they way I always have, and if I'm going to track drums, launch using QjackCtrl. I did this quick and dirty four channel test to verify that the four drums mics are indeed working. https://soundclick.com/share.cfm?id=13771023 Quote:
PID CLS RTPRIO NI PRI %CPU STAT COMMAND 420 FF 95 - 135 0.0 S irq/32-snd_hda_ 421 FF 95 - 135 0.0 S irq/17-snd_hda_ 424 FF 95 - 135 0.2 S irq/16-snd_ice1 467 FF 95 - 135 0.0 S irq/17-snd_ice1 48 FF 50 - 90 0.0 S irq/9-acpi 102 FF 50 - 90 0.0 S irq/16-ehci_hcd |
|||
08-21-2018, 12:04 AM | #31 |
Human being with feelings
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
|
OK, think I found what we need!
Create a ~/.asoundrc file, and put the following into it: Code:
pcm.Maudio { type multi; slaves.a.pcm hw:1 slaves.a.channels 2; slaves.b.pcm hw:3 slaves.b.channels 2; bindings.0.slave a; bindings.0.channel 0; bindings.1.slave b; bindings.1.channel 0; bindings.2.slave a; bindings.2.channel 1; bindings.3.slave b; bindings.3.channel 1; } ctl.Maudio { type hw card 1 } Observations: I've never done this before, just googled and modified slightly for your current setup. We'll probably have to reiterate over it a few times, as I suspect the channels will probably need to be reordered and there might be other unforeseen issues. But as a first try it ought to be good. For other readers of this thread, this will only work well if you have cards that are externally synced, forget it if you can't sync the cards as drifting clocks will cause problems. In this case using zita-ajbridge would be the prefered solution as detailed earlier in this thread. zita-ajbridge has a nice resampler function to compensate for drifting clocks. It will probably be seen by PA too, so again start pavucontrol and disable the Maudio device too, you might have to restart the PA server or reboot for this to happen. "pulseaudio -k" ought to restart it. I would have preferred to use the device names instead of the device index numbers in the above, but since you had problems using hw:M2496_1 I decided to use the indexes instead. This might however have been due to pulseaudio hogging the card even though it's not using it. Note that it is possible for the index to change at reboot, probably unlikely in your case as you are using PCI devices, but it's a real issue using USB devices. This is the reason that it's always preferable to refer to a device by it's name rather than it's index. You can configure the system so that each device gets a specific index. I'll leave that for a later post, so that we don't mess anything up while trying this! Break a leg!
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :) |
08-21-2018, 12:26 AM | #32 | ||
Human being with feelings
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
|
Quote:
Another way to check the final result would be to insert a click source on one track and then play it back on output 1/2 and recording it onto input 1/3. I don't think this solution would introduce any extra latency between the 2 cards, but it would be nice to have that verified, and I suppose it would save you some work in the future not having to move tracks to line them up Quote:
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :) |
||
08-21-2018, 07:30 AM | #33 | |||
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
Quote:
Quote:
Quote:
Last edited by Glennbo; 10-22-2018 at 04:14 PM. |
|||
08-21-2018, 07:36 AM | #34 | |
Human being with feelings
Join Date: May 2009
Posts: 29,269
|
Quote:
In my testing, this misalignment will also vary with subsequent playback/record attempts. Glenn, wasn't it you and I that went over the same issue with the same devices in your Windows setup or was that someone/something else?
__________________
Music is what feelings sound like. |
|
08-21-2018, 07:55 AM | #35 | |
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
Quote:
I was toying with the idea of getting a Behringer UMC1820 so I'd have a lot of inputs from one device, but Jack pointed me to a test he did in Linux, which showed the "monitoring thru" latency of USB devices in Linux. Since the only time I ever use four inputs at the same time is when recording acoustic drums, I think for the time being that I will stick with my old dinosaur Delta cards that were made back when Windows 98 walked the Earth. When recording drums I now check the alignment the moment I finish recording, and find some loud snare hit and some loud kick hit to use as my visual timing marks. Only takes a few seconds to hand align, if it needs it, which about 25% of the time it doesn't. That is what was messing with my head before knowing what was going on too, because sometimes I'd record drums and they would sound full and robust, and other times they would sound wimpy and thin. |
|
08-21-2018, 08:11 AM | #36 | ||
Human being with feelings
Join Date: May 2009
Posts: 29,269
|
Quote:
Quote:
__________________
Music is what feelings sound like. |
||
08-21-2018, 08:33 AM | #37 | |
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,097
|
Quote:
https://forum.cockos.com/showpost.ph...8&postcount=14 This line is of most interest to me, "64/2 128 + 256 ~ 8.7ms", because with my PCI cards I am running in Linux 64 samples latency with 2 buffers with a reported latency from REAPER of around 3ms. The loopback test Jack had me do using ReaInsert showed a reported latency of 192 samples, but the ping test came back with 206. I'm not sure how much that translates into ms, but if getting a USB sound device will not be as tight as my system feels right now, it would be somewhat of a downgrade except for more inputs on a single device. |
|
08-21-2018, 08:51 AM | #38 | |
Human being with feelings
Join Date: May 2009
Posts: 29,269
|
Quote:
44.1k = 44,100/1000 = 44.1 samples per ms = 192 samples/44.1 = 4.3 ms. I've not followed these threads so who knows what I'm missing.
__________________
Music is what feelings sound like. |
|
08-21-2018, 09:03 AM | #39 | |||
Human being with feelings
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
|
Quote:
Quote:
The reason I mentioned latency in this context is because I'm not sure if using zita-a2j adds latency or not, though my guess is that it doesn't. It was one thing I wanted to ascertain as I'm on vacation with my laptop and I have no reliable way to test myself. I.E. I wanted to use you as a guinea pig, I hope you don't mind Quote:
As a matter of interest, what version of ubuntu do you use?
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :) |
|||
08-21-2018, 09:06 AM | #40 | |
Human being with feelings
Join Date: May 2009
Posts: 29,269
|
Quote:
__________________
Music is what feelings sound like. |
|
Thread Tools | |
Display Modes | |
|
|