record and broadcast microphone inputs with latency compensation

Bug #1546380 reported by Be
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Wishlist
Be

Bug Description

It would be nice if Mixxx could record microphone and auxiliary inputs exactly sample aligned with the master output without sending the mixed signal to the master output sound card. This would allow users to make use of direct monitoring on sound cards while playing to avoid the latency of routing the audio into the computer and back out and still record their live mixes as heard.

Be (be.ing)
description: updated
Revision history for this message
Daniel Schürmann (daschuer) wrote :

Sorry, I do not understand what you are suggesting.

Can you describe which signal is passed by Aux and Mic? A picture or ASCII art would be nice as well.

Revision history for this message
Be (be.ing) wrote :

I have attached a sketch of the signal path. It would be nice if Mixxx's recording compensated for the input latency to the computer.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Ah I understand now, thank you. This feature would also be great for broadcasting users.

We already have the option to pass the Talkover channel to Broadcasting and recording only.
The only part that is missing is to delay the master stream that is passed to the sidechain.

It looks like this is a reasonable feature. But how can find out the this delay value delay?

If you are planning to do this here some hints:
We need a new engine delay like this:
https://github.com/mixxxdj/mixxx/blob/master/src/engine/enginemaster.cpp#L101
The delay has to placed here;
https://github.com/mixxxdj/mixxx/blob/master/src/engine/enginemaster.cpp#L512
like:
https://github.com/mixxxdj/mixxx/blob/master/src/engine/enginemaster.cpp#L581
We have to make sure, that the original master buffer is not touched.

Changed in mixxx:
status: New → Confirmed
importance: Undecided → Wishlist
Revision history for this message
Be (be.ing) wrote :

>It looks like this is a reasonable feature. But how can find out the this delay value delay?

I think that can only be determined by empirical measurement with a cable running from the sound card's output back to its input. The jack_delay tool can measure the roundtrip latency with such a configuration. If Mixxx is run with JACK's -I and -O parameters set, that can be used to specify the delay. Otherwise, there could be a place to specify it in the preferences.

Be (be.ing)
Changed in mixxx:
assignee: nobody → Be (be.ing)
status: Confirmed → In Progress
Revision history for this message
Be (be.ing) wrote :
Be (be.ing)
Changed in mixxx:
status: In Progress → Fix Committed
Be (be.ing)
Changed in mixxx:
milestone: none → 2.1.0
summary: - record microphone and auxiliary inputs with latency compensation
+ record microphone inputs with latency compensation
summary: - record microphone inputs with latency compensation
+ record and broadcast microphone inputs with latency compensation
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/8477

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.