Looping should try to prevent clicks

Bug #653896 reported by Albert Santoni
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Medium
Owen Williams
1.10
Won't Fix
Medium
Unassigned
1.11
Fix Released
Medium
Owen Williams
1.8
Won't Fix
Medium
Unassigned
1.9
Won't Fix
Medium
Unassigned

Bug Description

When looping, Mixxx should try to prevent clicking sounds caused by large, discontinuous jumps in the audio signal. The conventional way of doing this for mono streams is to adjust the loop start and end points to both coincide with zero crossings. This approach isn't so straightforward for stereo streams because zero crossings may not appear in both channels at the same time.

Nevertheless, I've written some code that attempts to find a compromise between the zero crossing positions in both the left and right channels, and I think it reduces clicking in most cases. Attached is the patch.

Probably a better way to do this is just to fade the audio over X samples.

Tags: engine looping

Related branches

Revision history for this message
Albert Santoni (gamegod) wrote :
RJ Skerry-Ryan (rryan)
Changed in mixxx:
importance: Wishlist → Medium
status: New → Confirmed
Revision history for this message
Owen Williams (ywwg) wrote :

My patch in https://bugs.launchpad.net/bugs/703585 solves this a different way, but crossfading between the out point and the in point over a period of one iBufferSize.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Fixed by Owen's patch in Bug #703585.

Changed in mixxx:
status: Confirmed → Fix Committed
assignee: nobody → Owen Williams (ywwg)
RJ Skerry-Ryan (rryan)
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/5545

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.