[03:08] <dx9s> OvenWerks, Eickmeyer suggested that I talk to you about some of my pulseaudio endevors
[03:09] <Eickmeyer> OvenWerks: I met dx9s at Linux Fest Northwest in Bellingham last weekend, and he has some pretty decent ideas. I'm not sure how they would work into our scope, but you two might be able to bounce some ideas off of each other.
[03:13] <OvenWerks> Go ahead...
[03:16] <OvenWerks> I would like a fixed/finished pulse->jack bridge.
[03:16] <Eickmeyer> dx9s: ^
[03:16] <dx9s> Hello sorry was on -devel w/ Eickmeyer 
[03:16] <Eickmeyer> (he means -offtopic)
[03:17] <dx9s> er .. yeah.. multi-tasking .. poorly and with high error rates
[03:17] <OvenWerks> Other than that, Removing the alsa/udev modules fixes a lot of things.
[03:19] <dx9s> I was instead of creating a bunch of pulse-jack-source/sinks and routing to jack to then route to external mixer XR18 or X32 or anything similar. I was directly making virtual sound cards in pulse to route to the external mixer.
[03:19] <dx9s> can read up on it here https://dx9s.net/node/32
[03:19] <OvenWerks> -controls does/can do some of that, but at this time we only do two channels.
[03:20] <OvenWerks> But ya, making extra bridges can be done on the fly.
[03:21] <dx9s> one of the side effects of pulse is that any attached sound interface with many inputs and outputs, it labels the first 8 as surround channels.. which is a pain.. so I was wanting to teach pulse that the sound card channels are just simple channels:   https://dx9s.net/node/37 .. (note that doesn't work, but is in the correct direction)
[03:21] <OvenWerks> My original version of autojack actually created a pulse->bridge for each zita->jack bridge so that pulse could see all devices.
[03:21] <dx9s> The advantages of using pulse thru jack (in some cases, not always) is many applications are already pulse aware (i.e. spotify, firefox, discord, etc.) and not jack.. 
[03:22] <OvenWerks> yup
[03:22] <dx9s> er.. I mean the advantages of pulse over jack is ..
[03:22] <OvenWerks> I am following.
[03:23] <OvenWerks>  I have been down much the same road... just with a different set of devices/needs
[03:23] <dx9s> Can still bridge jack to pulse .. and sometimes it makes sense to use jack to connect directly to the hardware.
[03:23] <OvenWerks> If you are using jack at all, jack should be the only "device" pulse sees
[03:24] <OvenWerks> if not, jack will not freewheel correctly and xruns will show up.
[03:24] <OvenWerks> pulse, if it can see any alsa device will use it as it's main media clock.
[03:24] <dx9s> I've routed audio between external mics and apps and so forth over USB to pulse (no jack) for many hours.. seems stable enough.. I can see the desired to use jack in some cases.
[03:25] <OvenWerks> with no jack it is ok.
[03:25] <Eickmeyer> The biggest problem I have with pulse is that it has a relatively higher latency.
[03:25] <dx9s> It's sort of nice to open Skype .. or Discord and pick "CHX" for output source.. and it shows up in the mixer
[03:25] <OvenWerks> My concern is that even if I have something like Ardour running I want to be able to use the same outputs for desktop stuff
[03:26] <OvenWerks> When I set up pulse to jack bridges, I always name them for the device I expect to use as the in/output
[03:27] <OvenWerks> Having said that... I don't see it in controls :P
[03:27] <dx9s> latency is low enough and because external mixer. monitoring and previewing there is like recording audio into thru jack but using external monitoring (for 0 latency).. 
[03:27] <OvenWerks>  Need to add to my doto list.
[03:27] <dx9s> not familar with controls tho..
[03:28] <Eickmeyer> !ubuntustudio-controls | dx9s, this is what we're referring to with -controls
[03:29] <dx9s> oh that apps.. yeah.. just saw it the other day..
[03:30] <OvenWerks> I would like to have something like patchage for connecting things where it would be possible to right click on the pulse icon and add new ports to it with my chosen name or have a  port called add where a wire drawn from that to a jack port would create a pa-jack bridge named from the port it goes to.
[03:30] <dx9s> I have it installed someplace.. in VM or on the laptop (not a base ubuntu studio, but added it on to ubuntu)
[03:30] <OvenWerks> Still in active development.
[03:31] <dx9s> the "brige" you talk about is the pulse-jack bridge (module-jack-sink/source) right?
[03:31] <OvenWerks> yes.
[03:31] <OvenWerks> I unload the jackdbus-detect module.
[03:31] <dx9s> Normally the programs I've seen in places (studio and elsewhere) normally just create one stereo. I end up openning command line and loading several (mono and stereo)
[03:32] <OvenWerks>  then create them with names I want then connect them where I want
[03:32] <Eickmeyer> OvenWerks: That reminds me, I have to do some more testing. Launching -controls was crashing for me the other day, but I didn't have time to investigate. I'm not home (and left that machine there), so the earliest I can get to it is Monday.
[03:32] <dx9s> after looking at the remap module in pulse, I've skipped that and just have pulse route to channels in mixer (no jack)
[03:32] <OvenWerks> right, that is a new use case or well a use case I haven't really decided to cover yet.
[03:33] <OvenWerks> The main reason for controls as it is so far is to deal with USB mics :p
[03:33] <dx9s> I understand the advantages of jack.. being able to route to several outputs dynamically.. have to setup a module in pulse for that (module-combine-sink)
[03:34] <dx9s> but having an external mixer with busses and dynamics/EQ/etc and routing pulse apps directly to channel (mono or stereo) is super nice and then have it route in hardware mixer back to system in pulse.
[03:34] <OvenWerks> I think that it should be possible in pulse to create a profile for a device and maybe jack too that is just ch1 to ch n
[03:35] <OvenWerks> To route different apps to different channels you need to use more than one bridge.
[03:35] <dx9s> in my https://dx9s.net/node/37 (wrote earlier today).. trying to figure out how to teach pulse that front-left is CH01 , and front-right is CH02 .. etc 
[03:36] <dx9s> makes the script on /node/32 more readable.. rather than the hackish "renaming" bash ENV vars
[03:36] <OvenWerks> Does it matter? At least for stereo not really, once you get beyond 2 they all need to be "Aux"
[03:37] <OvenWerks> (in pulse speak)
[03:37] <dx9s> I don't understand the question... sometimes busing in mono (Discord/Skype for example)
[03:37] <OvenWerks> doesn't pulse allow only one channel?
[03:38] <OvenWerks> (I thought it did... my usb mic I use for testing is mono... and says disney on it I think)
[03:38] <dx9s> the remap allows for anything you want.. normally mono or stereo.. but can be anything, 1 or 2 makes sense as most simple apps only know mono/stereo (spotify or vlc or what not)
[03:39] <dx9s> assuming you looked at the photo here: https://dx9s.net/cdn/pulseaudiohacks.png .. the pavucontrol shows firefox playback routing options
[03:42] <OvenWerks> I am, I must admit, a ways from adding to pulse.
[03:42] <OvenWerks> So you are doing everything from pulse
[03:42] <dx9s> yes .. find it to be an interesting solution
[03:42] <dx9s> it makes sense when you are using a sound card/mixer (external) like XR18/X32 or similar
[03:45] <OvenWerks> Ya, I have run jack as the device on everything for about 2 or 3 years now, even on non-music production machines and just pulse to jack. It has been very solid even for someone like my wife who has no idea what a jackd is.
[03:45] <OvenWerks> However, a better pulse only solution would be reasonable too
[03:45] <dx9s> And when jack makes sense, can still use pulse-jack-source/sink modules to connect
[03:46] <OvenWerks> I run jack from startup to shutdown
[03:47] <OvenWerks> For me, it just always makes sense. It takes away some of pulse's anoying habits such as adjusting my carefully set alsa levels.
[03:48] <OvenWerks> I personally prefer that pulse is only a software level control.
[03:48] <dx9s> I end up having several devices.. I used to back in the earlier days (when I was running UbuntuStudio as my base install, still am looking at it for a re-install here soon)... I'd point pulse to onboard and jack to my ICE1712 (M-Audio 1010) .. I wish there was a PCIe ICE1712 card out there. but everybody has moved to USB
[03:48] <OvenWerks> I also use an ice1712 card in my system (still)
[03:48] <dx9s> PCI ?!
[03:49] <OvenWerks> I hope not to have to ever use a USB device
[03:49] <dx9s> I was that way too..
[03:49] <OvenWerks> yes, I chose my latest mother board with great care
[03:49] <OvenWerks> I have three pci slots on my i5
[03:50] <OvenWerks>  I use two of them, the unused one shares irq16 with4 other devices :P
[03:50] <dx9s> USB class 2 audio is far more usable .. (higher latency tho) .. but people have gotten used to external monitor mixing anyways.. Hence using XR18/X32 sound card+mixer is a good match 
[03:50] <OvenWerks> Yes the x32 seems to work well.
[03:51] <dx9s> It's a real change in audio work flow. Instead of having software mixers/compressors/etc.. have real dedicated hardware ones..
[03:52] <dx9s> This is for live stuff.. Ardour (or similar) recording is a different workflow.. jack makes sense there
[03:52] <OvenWerks> I have used an external mixer for about 20 years :)
[03:53] <OvenWerks> Mostly for the mic pre and monitoring. No eq or comp generally.
[03:53] <dx9s> Yeah, but there are plenty of low LOW budget recording setups that want to monitor in software
[03:53] <dx9s> that case.. low latency and PCI hardware
[03:54] <dx9s> FWIW.. I even looked at PCI to PCIe riser/adapter hardware.. they exist.. ugly solution 
[03:54] <dx9s> I really like ICE1712 chipset
[03:55] <OvenWerks> I do not know about the x32, but some of the digital mixers are all integer DSP math, even 40 bit int math does not sound as good as 32 bit float
[03:56] <OvenWerks> I have heard different things about the pci-pcie bridges. Some good and some not so much
[03:56] <OvenWerks> It seems that the quality of the bridges is somewhat variable.
[03:57] <dx9s> The DSP in the X32 / XR18 / and Midas spin offs (M32,etc) are based on the Midas PRO series (PRO1, PRO2, PRO3, PRO6, PRO9).. which is a 40-bit floating engine.. only 48kHz instead of 96kHz 
[03:58] <OvenWerks> 48K is better anyway for almost everything
[03:58] <OvenWerks>  96k is mainly advertizing.
[03:59] <dx9s> I did look at the PRO2C (Compact) until the price tag of $10,000 was discovered.. I can live with the X32.. the "Pop" groups are super slick.. they "prune" channels not apart of a Popular (or DCA) group.. press DCA group for drums and only the channels on left for drums appear.
[03:59] <dx9s> yeah.. understood.. but it was the Midas PRO series (which uses embedded Linux) that got Behringer to support Linux as well as they did.. it's a cool story 
[04:00] <dx9s> X32 has embedded linux it as well (and XR18 I believe as well)
[04:00] <dx9s> * X-Air series
[04:00] <OvenWerks> All the digital consols do pretty much even those that do not support linux :/
[04:00] <dx9s> true
[04:02] <dx9s> But I text/chatted with one of the support guys (perhaps developers) that made the X-Edit software for X32 on Linux.. the dev kit had on an update an "export" for Rasberry Pi show up.. they tried it out and it created a source tarbal that combined for the RPi and boom.. RPi support for remote control surfaces.
[04:03] <dx9s> offical RPi support is weird and cool at same time
[04:07] <dx9s> Anyhow.. I sent a message to the guy I found that LAST made the change to the Wiki on the pulseaudio for making custom profile.. Not sure if or when I'll get a reply. It was via IRC here on freenode... I'll follow up with email in a few days. Be nice to teach pulse new channel names 
[04:08] <OvenWerks> I am not sure, but I think most of the pulse devs are more interested in pipewire
[04:09] <OvenWerks> Pipewire is supposed to replace both pulse and jackd and add video streaming as well
[04:09] <dx9s> yeah.. well as long as pipewire doesn't call multichannel cards weird surround channel names
[04:10] <OvenWerks> However, from what I have heard the backend is not really the best for lowlatency use... jack may be around for a while yet.
[04:10] <dx9s> Pipewire, have not used it but did hear about it at LFNW2019 from Wes Payne (Jupiter Broadcasting).. Missed the talk as it was going on same time as Blender 2.8 but spoke a little with him about it and a little with Eickmeyer as well at the BBQ
[04:11] <OvenWerks> the suround names are actually correct for desktop use. (based on HDA and hdmi of course)
[04:12] <dx9s> I know, but the names (the order) move around... if you put X32 in 8x8 .. the 3/4th and 5/6th channels are ONE way. if X32 is in 16x16 (or higher) they switch.. that's a pain.
[04:12] <OvenWerks> Yikes!
[04:13] <dx9s> assume it's a bug for all similar cards.. the XR18 only has 2x2 or 18x18 so can't test there
[04:13] <Eickmeyer> Yeah, biggest downside to that mixer. That along with the 8-channel grouping.
[04:13] <OvenWerks> Biggest downside to pulse...
[04:14] <OvenWerks> well maybe not the biggest :)
[04:14]  * Eickmeyer had to do some pretty funky bus gymnastics to route individual channels to roundtrip to his computer when used with an X32.
[04:15] <dx9s> I have also noticed the pulse-combine-sink takes a little while to "measure" clock skews.. takes 2-10 seconds to get the output skew correction aligned (sounds good by ear).
[04:16] <OvenWerks> zita-a2jbrdge does too, but normally it is set up some time before connecting anything to it.
[04:16] <OvenWerks> anytime you have two sync sources it will take time to get the SRC synced
[04:17] <dx9s> not familar with zita-a2jbridge, but I've seen it.. never ysed it.
[04:18] <OvenWerks> -controls uses it to allow more than one audio device to be used at a time.
[04:18] <dx9s> OvenWerks, *sync.. yeah.. that is why Delta 1010/LT (or firewire cards) with wordclock is slick. Have an echo audiofire 12 collecting dust ATM..
[04:19] <dx9s> Not even sure if I can give it away.
[04:22] <OvenWerks> Assuming it is PCI send it my way... it may be better than my audiopci that is card wto here.
[04:27] <dx9s> audiofire 12 is firewire 12 channel device.. shunted (50 ohm resistor) a channel to measure inaudible noise above 20kHz .. it's not overly noisy but FFT shows plenty.. so using it at 192kHz is doable, 48kHz is plenty clean tho, no ultrasonic harmonics. has no preamp, direct outs on mixer is or dedicated preamp required.
[04:28] <dx9s> used with analog mixer that had 8 direct outs (and 4 sub group outs)
[04:28] <OvenWerks> Ah, firewire. I can still get a FW pcie card.
[04:29] <dx9s> Jack with ffado I think is all that is required
[04:29] <OvenWerks> Yup, that is in fact what I wanted to work on next in -controls.
[04:29] <dx9s> er called firewire now
[04:30] <OvenWerks> I have heard that the alsa fw modules work well but do not give access to the internal routing and controls.
[04:30] <dx9s> well you can have it if you want it.
[04:30] <OvenWerks> What is the cost to get it to Canada?
[04:31] <dx9s> dunno.. I'm in the Olympia area right now.
[04:31] <dx9s> what part of Canada?
[04:31] <OvenWerks> Ya, Eickmeyer said something about that, I am on Vancouver Island
[04:32] <dx9s> oh.. Victoria ? 
[04:32] <OvenWerks> My son, who used to live on the lower mainland has up and moved to Ottawa.
[04:32] <OvenWerks> No I am in Courtenay in the Comxo vally
[04:32] <OvenWerks> *Valley
[04:33]  * OvenWerks can't spell anything it appears
[04:33] <dx9s> Have a friend that I haven't seen that lives in Victoria (walking distance from the Wax museum) .. it's been at least 10 years, last time was when he got married.
[04:33] <OvenWerks> Comox Valley, north of Naniamo and sounth of Campbell River
[04:34] <dx9s> mid island
[04:35] <dx9s> not sure how much international shipping would cost, but will look into options.
[04:35] <OvenWerks> I remember visiting Victoria in 1980ish... we went spring break two years ago and it has changed a lot. It has grown to a point I can be quite happy not visiting again :)
[04:35] <dx9s> lol
[04:35] <OvenWerks> no UPS please :) USPS is nice though
[04:39] <OvenWerks> (UPS tried to sue our country... and charges the highest border fees of anyone I know)
[04:39] <dx9s> I heard something was up, didn't know any details. good to know
[04:40] <OvenWerks> I used to work as mail delivery, so maybe a bit touchy ;)