Software (mixxx) or hardware (analog) mixing ? 

General Mixxx discussion.... discuss

Moderator: garth

Software (mixxx) or hardware (analog) mixing ? 

Postby mbrouillet » Tue Jul 02, 2019 8:20 pm

Hello,

I mainly mix mp3 files, but also need two microphones and one aux input (to plug in the computer of the second person that also prepared part of the music).

I consider two options :
  1. Buy an external mixer like Behringer Xenyx Q802USB or Yamaha AG06. Mixing is done by hardware. I do not process the external sources in Mixxx, and I have the benefit of simplicity and of no-latency.
  2. Buy a USB audio interface with 4 inputs like Behringer UMC404HD or Steinberg UR242. Mixing is done by Mixxx.
I would love some help assessing the following issues before making expenses :
  • Pros :
    1. I can apply effects on the external inputs, especially the mics
    2. I control all the mixing levels on the computer, single interface/controller
    3. Recordings do include the mics (Yamaha AG06 seem to allow this too with the loopback switch. Do others ?)
  • Cons :
    1. Audio quality — would there be an audible difference due to the additional A2D conversion of mics/aux
    2. Latency — is it so bad that the people will hear me speaking and then hear me through the speaker system ?
    3. Resource usage — am I going to exhaust my system ? What is the critical resource : CPU/RAM/USB ? What hammers them the most : effects / number of channels / high sample rate / resampling ?

Would you recommend me not going the route #2 ?
I read in the manual that mics over USB-sound-adapters are to be avoided, but there isn't anything else (you can't plug a PCI board in a laptop), is there ?

Would you recommend me some hardware better than others ?
Are some USB interfaces much better than others in terms of latency (Behringer/Scarlett/Steinberg…) ? [I read your recommendation towards Roland Rubix 24, I'd need a 44, bulkier than the UR242]
Is the USB throughput a bottleneck ? (I only found M-Audio M-Track 8x4M to have USB-C)

Thank you for any recommendation of hardware/setup for my case.
mbrouillet
 
Posts: 33
Joined: Sun Jun 09, 2019 10:32 am

Re: Software (mixxx) or hardware (analog) mixing ? 

Postby jaymanu » Wed Jul 03, 2019 10:26 am

Most hardware mixers already include an USB interface nowadays, including the ones you cited.
No point in buying a separate dedicated interface in your case.

As of USB, the physical connector format will not make a difference for USB-audio. Be it mini-USB, micro-USB, USB-B or USB-C, same latency and throughput.
jaymanu
 
Posts: 54
Joined: Thu Jun 13, 2013 10:36 am

Re: Software (mixxx) or hardware (analog) mixing ? 

Postby mbrouillet » Wed Jul 03, 2019 1:05 pm

jaymanu wrote:Most hardware mixers already include an USB interface nowadays, including the ones you cited.
No point in buying a separate dedicated interface in your case.

You are recommending going the easiest route, #1. Thanks. I am still curious of what pitfalls lie ahead in setup #2. Since there are Mic and Aux inputs, they are to be used, I presume by some people. But not with USB devices ?

As of USB, the physical connector format will not make a difference for USB-audio. Be it mini-USB, micro-USB, USB-B or USB-C, same latency and throughput.

I meant USB-3 indeed, not USB-C.
mbrouillet
 
Posts: 33
Joined: Sun Jun 09, 2019 10:32 am

Re: Software (mixxx) or hardware (analog) mixing ? 

Postby jaymanu » Wed Jul 03, 2019 4:24 pm

mbrouillet wrote:You are recommending going the easiest route, #1. Thanks. I am still curious of what pitfalls lie ahead in setup #2. Since there are Mic and Aux inputs, they are to be used, I presume by some people. But not with USB devices ?


Not exactly, I say that you can do both "routes" because your mixer will also double as an USB audio interface.
So you can toy around experimenting different setups.
jaymanu
 
Posts: 54
Joined: Thu Jun 13, 2013 10:36 am

Re: Software (mixxx) or hardware (analog) mixing ? 

Postby Be. » Wed Jul 03, 2019 5:29 pm

mbrouillet wrote:I read in the manual that mics over USB-sound-adapters are to be avoided, but there isn't anything else (you can't plug a PCI board in a laptop), is there ?


You misunderstood that. What is recommended against are "USB microphones" which are devices that combine a microphone and USB audio interface like the Blue Yeti. Plugging a regular microphone into a USB audio interface is fine.

mbrouillet wrote:Would you recommend me some hardware better than others ?
Are some USB interfaces much better than others in terms of latency (Behringer/Scarlett/Steinberg…) ? [I read your recommendation towards Roland Rubix 24, I'd need a 44, bulkier than the UR242]


Some nice features of the Roland Rubix interfaces are the built in hardware compressors on the inputs and loopback input. They also have all features controllable directly on the hardware, whereas the Steinberg UR interfaces require a proprietary application from Steinberg which is not available on Linux. The Focusrite Scarlett 4i4 is a bit cheaper than the Roland Rubix 44, but doesn't have hardware compressors or the loopback input. Also, inputs 3 + 4 on the Scarlett 4i4 are line level only and don't seem to have any way to adjust the gain; you wouldn't be able to connect microphones or electric guitar/instruments with pickups to those inputs if that's something you might want at some point.

mbrouillet wrote:Is the USB throughput a bottleneck ? (I only found M-Audio M-Track 8x4M to have USB-C)


No, not until you reach a huge number of channels like the RME Fireface UFX+. USB 2's bandwidth is far more than adequate for most audio throughput.

jaymanu wrote:Most hardware mixers already include an USB interface nowadays, including the ones you cited.
No point in buying a separate dedicated interface in your case.


It is not that simple. Most hardware mixers with built in USB audio interfaces (including the Behringer Xenyx Q802USB and Yamaha AG06) only have 2 channels in/out via USB, so you would still need a separate audio interface to send 4 channels/2 decks to the mixer (or send 2 channels to the mixer and 2 to headphones if you're using software mixing in Mixxx). Hardware mixers that have a built-in USB audio interface that would be suitable would probably be more expensive than a USB audio interface with all the required features.

mbrouillet wrote:I can apply effects on the external inputs, especially the mics


Note that if you apply software effects in Mixxx, those would be heard in recording/broadcasting, but you wouldn't hear them if you're listening to the mics through direct monitoring. This is why the hardware compressors on the Roland interfaces are good; you can hear them with direct monitoring.

mbrouillet wrote:Audio quality — would there be an audible difference due to the additional A2D conversion of mics/aux


Yes, each A/D conversion reduces quality. Ideally analog inputs only get converted to digital and don't get converted again. This can be achieved with a USB audio interface.

mbrouillet wrote:Latency — is it so bad that the people will hear me speaking and then hear me through the speaker system ?


Latency is more of an issue for you than your audience. It's disorienting to hear sounds you make repeated back with latency. However, this is not an issue using an audio interface with direct monitoring.

mbrouillet wrote:Resource usage — am I going to exhaust my system ? What is the critical resource : CPU/RAM/USB ? What hammers them the most : effects / number of channels / high sample rate / resampling ?


Timestreching (adjusting playback rate with keylock enabled or adjusting key) and effects are the most CPU intensive features of Mixxx.
I heard FLAC and I haven't gone back.
Protect your hearing with earplugs!

Hear my mixes
User avatar
Be.
Mixxx Developer
 
Posts: 2424
Joined: Tue Jan 06, 2015 1:00 am
Location: Chicago, USA

Re: Software (mixxx) or hardware (analog) mixing ? 

Postby mbrouillet » Wed Jul 17, 2019 8:48 am

Be. wrote:
mbrouillet wrote:I read in the manual that mics over USB-sound-adapters are to be avoided, but there isn't anything else (you can't plug a PCI board in a laptop), is there ?


You misunderstood that. What is recommended against are "USB microphones" which are devices that combine a microphone and USB audio interface like the Blue Yeti. Plugging a regular microphone into a USB audio interface is fine.



I'm still puzzled by this. Is this ineluctable for some reason ? or is it just that the models on the market are of poor design ?

My reasoning is that wireless mics with non-perceptible latency exist. Their wireless transport is digital. Technology is such that the following is achievable with non perceptible latency :
  1. A/D conversion takes place in the handheld section (probably using some voice-relevant vocoder, G729 and the such)
  2. Digital radio transmission
  3. D/A conversion in the receiver

A (good) USB mic would only use steps 1 and 2. Doing less, latency shoots up from non-perceptible to hundreds of ms ?
mbrouillet
 
Posts: 33
Joined: Sun Jun 09, 2019 10:32 am

Re: Software (mixxx) or hardware (analog) mixing ? 

Postby Be. » Wed Jul 17, 2019 3:19 pm

Wireless mics generally use analog radio transmission (not all do though). You're right that digital audio devices can operate with very low latency; most high end DJ mixers are digital nowadays. But the A/D conversion isn't all that adds latency in an audio interface. The troublesome part is sending the signal to the computer, having the computer process it, then sending it back out to the audio interface. Unfortunately, USB is particularly bad in this regard and typically adds another few milliseconds in addition to the A/D conversion. This also depends on the buffer size you're running the audio software on the computer with. Direct monitoring bypasses this so the signal goes straight into the audio interface and back out without going through the computer (at least some audio interfaces will digitize the input and mix it with the output signal from the computer digitally, but the latency this adds is negligible). USB microphones often have a headphone jack for direct monitoring, but with some USB microphones the only signal coming out of that is the signal from the microphone; you can't hear the music from the computer mixed with the microphone. And even if the USB microphone can send output from the computer to the headphone jack, that's only one stereo pair of outputs so you can't have separate signals going to headphones and speakers.
I heard FLAC and I haven't gone back.
Protect your hearing with earplugs!

Hear my mixes
User avatar
Be.
Mixxx Developer
 
Posts: 2424
Joined: Tue Jan 06, 2015 1:00 am
Location: Chicago, USA

Re: Software (mixxx) or hardware (analog) mixing ? 

Postby mbrouillet » Tue Jul 30, 2019 3:01 pm

Hello,
I'm back after a few weeks of tweaking.
  • I bought a Yamaha Yamaha AG06. Alsamixer on that device is wierd : there is no control that can be raised or lowered (see attachment). But it works fine. My "route 1" is a safe route, works. Still bones to chew on : debug Alsa AG06 (some output provided below), and get the DSP software to connect to the board. Both may be related. [The DSP software seems to run fine in wine].
  • As suggested by jaymanu, it allowed me to pursue route 2 as well. Sound was uncomparably bad, but I didn't spend much time trying to solve the issue. Was the board trying to sample at too high a rate ? was my CPU load crazy ? etc.
  • I bought a Behringer Ultralink ULM300USB. Latency is acceptable for me and quality is as expected (for such a price range). I'd love to report a latency.
How do you measure a microphone input latency ? I thought I could record with my laptop microphone a glitch and the delayed glitch that went through the [mirophone -> USB -> mixxx -> USB -> sound -> speaker] route, and then try to measure the time between the two glitches (how?). Any more usual way to do this ?

Marcel.

FYI, output of /var/log/syslog when connecting the Yamaha AG06 :
Code: Select all
Jul 30 16:53:26 marcel-HP-ENVY kernel: [10178.801459] usb 1-1: new high-speed USB device number 8 using xhci_hcd
Jul 30 16:53:26 marcel-HP-ENVY kernel: [10178.949539] usb 1-1: New USB device found, idVendor=0424, idProduct=2422
Jul 30 16:53:26 marcel-HP-ENVY kernel: [10178.949549] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Jul 30 16:53:26 marcel-HP-ENVY kernel: [10178.950696] hub 1-1:1.0: USB hub found
Jul 30 16:53:26 marcel-HP-ENVY kernel: [10178.950852] hub 1-1:1.0: 1 port detected
Jul 30 16:53:26 marcel-HP-ENVY upowerd[1211]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0
Jul 30 16:53:26 marcel-HP-ENVY upowerd[1211]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1
Jul 30 16:53:27 marcel-HP-ENVY kernel: [10180.237333] usb 1-1.1: new high-speed USB device number 9 using xhci_hcd
Jul 30 16:53:27 marcel-HP-ENVY kernel: [10180.339046] usb 1-1.1: New USB device found, idVendor=0499, idProduct=170d
Jul 30 16:53:27 marcel-HP-ENVY kernel: [10180.339055] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jul 30 16:53:27 marcel-HP-ENVY kernel: [10180.339061] usb 1-1.1: Product: AG06/AG03
Jul 30 16:53:27 marcel-HP-ENVY kernel: [10180.339066] usb 1-1.1: Manufacturer: Yamaha Corporation
Jul 30 16:53:27 marcel-HP-ENVY mtp-probe: checking bus 1, device 9: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.1"
Jul 30 16:53:27 marcel-HP-ENVY mtp-probe: bus: 1, device: 9 was not an MTP device
Jul 30 16:53:28 marcel-HP-ENVY upowerd[1211]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.1/1-1.1:1.2
Jul 30 16:53:28 marcel-HP-ENVY upowerd[1211]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.1/1-1.1:1.1
Jul 30 16:53:28 marcel-HP-ENVY upowerd[1211]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.1/1-1.1:1.3
Jul 30 16:53:28 marcel-HP-ENVY systemd-udevd[6312]: Process '/usr/sbin/alsactl -E HOME=/run/alsa restore 1' failed with exit code 99.
Jul 30 16:53:28 marcel-HP-ENVY upowerd[1211]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.1/1-1.1:1.0
Jul 30 16:53:28 marcel-HP-ENVY upowerd[1211]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.1
Jul 30 16:53:28 marcel-HP-ENVY rtkit-daemon[1329]: Supervising 3 threads of 1 processes of 1 users.
Jul 30 16:53:28 marcel-HP-ENVY rtkit-daemon[1329]: Successfully made thread 6330 of process 1896 (n/a) owned by '1000' RT at priority 5.
Jul 30 16:53:28 marcel-HP-ENVY rtkit-daemon[1329]: Supervising 4 threads of 1 processes of 1 users.
Jul 30 16:53:28 marcel-HP-ENVY rtkit-daemon[1329]: Supervising 4 threads of 1 processes of 1 users.
Jul 30 16:53:28 marcel-HP-ENVY rtkit-daemon[1329]: Successfully made thread 6331 of process 1896 (n/a) owned by '1000' RT at priority 5.
Jul 30 16:53:28 marcel-HP-ENVY rtkit-daemon[1329]: Supervising 5 threads of 1 processes of 1 users.
Jul 30 16:53:28 marcel-HP-ENVY gsd-media-keys[2038]: Unable to get default source

pactl list sinks :
Code: Select all
Sink #2
   State: SUSPENDED
   Name: alsa_output.usb-Yamaha_Corporation_AG06_AG03-00.analog-stereo
   Description: AG06/AG03 Analog Stereo
   Driver: module-alsa-card.c
   Sample Specification: s32le 2ch 44100Hz
   Channel Map: front-left,front-right
   Owner Module: 29
   Mute: no
   Volume: front-left: 62259 /  95% / -1,34 dB,   front-right: 62259 /  95% / -1,34 dB
           balance 0,00
   Base Volume: 65536 / 100% / 0,00 dB
   Monitor Source: alsa_output.usb-Yamaha_Corporation_AG06_AG03-00.analog-stereo.monitor
   Latency: 0 usec, configured 0 usec
   Flags: HARDWARE DECIBEL_VOLUME LATENCY
   Properties:
      alsa.resolution_bits = "32"
      device.api = "alsa"
      device.class = "sound"
      alsa.class = "generic"
      alsa.subclass = "generic-mix"
      alsa.name = "USB Audio"
      alsa.id = "USB Audio"
      alsa.subdevice = "0"
      alsa.subdevice_name = "subdevice #0"
      alsa.device = "0"
      alsa.card = "1"
      alsa.card_name = "AG06/AG03"
      alsa.long_card_name = "Yamaha Corporation AG06/AG03 at usb-0000:00:14.0-1.1, high speed"
      alsa.driver_name = "snd_usb_audio"
      device.bus_path = "pci-0000:00:14.0-usb-0:1.1:1.0"
      sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.1/1-1.1:1.0/sound/card1"
      udev.id = "usb-Yamaha_Corporation_AG06_AG03-00"
      device.bus = "usb"
      device.vendor.id = "0499"
      device.vendor.name = "Yamaha Corp."
      device.product.id = "170d"
      device.product.name = "AG06/AG03"
      device.serial = "Yamaha_Corporation_AG06_AG03"
      device.string = "front:1"
      device.buffering.buffer_size = "705600"
      device.buffering.fragment_size = "352800"
      device.access_mode = "mmap+timer"
      device.profile.name = "analog-stereo"
      device.profile.description = "Analog Stereo"
      device.description = "AG06/AG03 Analog Stereo"
      alsa.mixer_name = "USB Mixer"
      alsa.components = "USB0499:170d"
      module-udev-detect.discovered = "1"
      device.icon_name = "audio-card-usb"
   Ports:
      analog-output: Analog Output (priority: 9900)
   Active Port: analog-output
   Formats:
      pcm

Amixer : see screenshot
Attachments
Screenshot from 2019-07-30 16-59-03.png
Screenshot from 2019-07-30 16-59-03.png (31.63 KiB) Viewed 253 times
mbrouillet
 
Posts: 33
Joined: Sun Jun 09, 2019 10:32 am

Re: Software (mixxx) or hardware (analog) mixing ? 

Postby Be. » Tue Jul 30, 2019 4:47 pm

mbrouillet wrote:How do you measure a microphone input latency ?


With a separate audio interface, you can connect a cable from its output to its input as described in the manual. But there is no way to do this with a USB microphone and there is no way for Mixxx to make use of that information without direct monitoring. Nor is there a way to connect a USB microphone to a mixer, except for Behringer's mixers that are specifically made to work with their wireless microphones. You cannot use headphones to preview tracks either with the hardware you got. None of these would be problems with a 4 input/4 output audio interface with a regular microphone.
I heard FLAC and I haven't gone back.
Protect your hearing with earplugs!

Hear my mixes
User avatar
Be.
Mixxx Developer
 
Posts: 2424
Joined: Tue Jan 06, 2015 1:00 am
Location: Chicago, USA


Return to General Discussion

Who is online

Users browsing this forum: Google [Bot] and 3 guests