Artifacts when master sync is enabled

Bug #1844066 reported by poelzi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Incomplete
Undecided
Owen Williams

Bug Description

I noticed this now multiple times, with at least 2.2 and 2.3 (master), it does not happen always, but after some time mixxx gets into this state where it happens always. I had it yesterday, today after restart I can' reproduce it yet.

The artifact as temporary speedup and slowdown of the the playing track.

Quantize enabled on all decks.
1. Play track 1 on deck 1 with sync enabled.
2. Enable sync on deck 2, load a track onto deck.
3. Adjusting the beatgrid on a non running deck with sync enabled
Result:

The playing deck has a herable speedup/speed down artifact.
I understand that adjusting the beatgrid of the playing track causes artifacts when sync is enabled, even tho, I think if only on deck is playing, this case could be avoided.

I even noticed artifacts when I load track that needs quite some pitching that the loading causes artifacts.
Also jumping when volume is 0 on the synced track cause artifacts on the running track.

Yesterday I was using jack, but I think I heared it on ALSA as well.

Revision history for this message
poelzi (poelzi) wrote :

Recording of the artifact. Deck 4 with master sync was playing, everytime the artifact is hearable, I loaded another track on deck 3 with sync enabled.

Revision history for this message
Owen Williams (ywwg) wrote :

Do you have the mixxx log file from this session? How are you enabling master sync? Do you have any samples loaded? I've never encountered this so I might need to see a screencast to understand what is happening

Changed in mixxx:
assignee: nobody → Owen Williams (ywwg)
status: New → Incomplete
Revision history for this message
Daniel Schürmann (daschuer) wrote :

I can hear the artefacts in your recording. However by now, I was not able to reproduce the issue.
Does the rate slider of the playing deck change, during the issue?

I can create similar sound with a track with a non const beatgrid.

In this case it forces itself to a const BPM which introduces the same howling like from your recording. Not sure if we have actually a use case for this. Given that this is the only playing deck and sync master, it should probably play at rate 1.0 all the time. Bug or feature?

Interesting is the case when a second deck is starter. It does not make any scene to force the follower deck to a momentary BPM of the master. If we consider that this deck has also a non const beat grid it is a recipe for perfect awful holing. A solution for this is a known issue and TODO since the introduction of master sync.

Revision history for this message
Owen Williams (ywwg) wrote :

When master sync is enabled, all decks will be locked to the same bpm. When a track has a non-constant beatgrid, its bpm is always changing. Therefore either the master bpm must change constantly, or the non-const track must change pitch to stay at a constant bpm. Currently the second option is what mixxx does -- it picks a bpm and adjusts the rate of the non-const track every beat to match. This is weird, but actually sounds pretty good as long as keylock is enabled.

I don't know of a better way to handle this problem -- we could make the rate adjustments slower to prevent audible changes, perhaps.

It does not make sense to me to lock the rate to 1.0 -- I regular mix old pop songs and disco tracks which are not quite beatgridded, so I do want master sync to work. Like I say my usual method is to enable keylock. Or, I'll disable master sync and then occasionally tap sync when the sync drifts too much.

Note that in the code it is possible to designate an "explicit master" -- if you do this to the non-constant track, then all the other tracks will match that non-const bpm.

Revision history for this message
Owen Williams (ywwg) wrote :

typo fix: "I regularly mix old pop songs"

Revision history for this message
poelzi (poelzi) wrote :

When I remember correctly last time it happened. It actually made 2 artifacts, one when the track is loaded and one when the beat grid appeared.

Revision history for this message
Owen Williams (ywwg) wrote :

if your tracks are not beatgridded then master sync doesn't know what tempo they should be, so definitely there will be an adjustment when the bpm gets set. You should always analyze your tracks before you load them into a synced deck.

We might be able to assist here by not having un-gridded tracks affect master sync

Revision history for this message
poelzi (poelzi) wrote :

It's definitely a bug if the code cares about loading something into a deck that is *not* playing, no matter sync enabled or not. It would however be nice, if the code would take volume levels into account and tries to minimize artifacts based on what you actually hear (dominant track). If only one deck is playing then the master sync code should always align back to the actually running track and not what the master sync beatgrid says, that would minimize artifacts due user errors.

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

Can you verify this with 2.3 alpha?

Changed in mixxx:
importance: Critical → Undecided
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/9743

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.