RMS Waveform Analyser

Bug #532090 reported by jus
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Wishlist
Thomas Vincent

Bug Description

Mik made this very useful patch back in January, i put it here on the Wishlist for reference.
Especially for very dynamic songs the RMS is way better then what we use today.

<snip>
Hello.

Waveform view on mixxx looks very spiky. This results from peak detection
algorithm that extract waveform envelop. Since in my eyes rms averaging is the
better, if programmed it into mixxx. On the links below one can compare peak
detection and rms averaging on a techno track and a rock song. It doesn't look
that much better like I had expected but when playing sound files even the
small spikes are very helpful by getting a feeling of the beats and rhythm
hidden behind the waveform.

http://img641.imageshack.us/i/mixxxpeak.png/
http://img52.imageshack.us/i/mixxxrms.png/

Since rms averaging requiers a lot cpu time performance is a critical issue. A
tricky alogrithm can reduce calculation afford with minor loss results. In
fact my variant is as fast as peak detection.

The attachment contains a patch made from revision 2293 with the changes I've
applied to implement rms averaging. The code is made with limit checking thus
at least critical bugs which make mixxx instable are very unlikely.

Also there is an open issue. I'm not a daily C++ programmer but if
WaveformAnalyser object is destroy QVector<float> is freed as well.

In hope I could help

mik
</snip>

Tags: waveform

Related branches

Revision history for this message
jus (jus) wrote :
Revision history for this message
Korin (4chons) wrote :

Sorry for the silly question, but how do I apply this patch? :)

Revision history for this message
jus (jus) wrote :

Copy rms.patch to mixxx` trunk root directory on your hd. Navigate in terminal to that directory using cd.

Type in terminal

patch -p0 <rms.patch

Message about patched analyzerwaveform.cpp & analyzerwaveform.h should be displayed.

Good HOWTO on applying patches can be found at
http://drupal.org/patch/apply

RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: New → Confirmed
importance: Undecided → Wishlist
assignee: nobody → RJ Ryan (rryan)
RJ Skerry-Ryan (rryan)
Changed in mixxx:
milestone: none → 1.11.0
assignee: RJ Ryan (rryan) → nobody
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

waveform-2.0 branch uses RMS energy for the waveforms

Changed in mixxx:
assignee: nobody → Thomas Vincent (vrince)
status: Confirmed → In Progress
RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: In Progress → Fix Committed
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/5353

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

Related blueprints

Remote bug watches

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