mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.54k stars 1.28k forks source link

Show key changes in the waveform #6845

Open mixxxbot opened 2 years ago

mixxxbot commented 2 years ago

Reported by: rob2192 Date: 2013-01-15T11:12:08Z Status: Confirmed Importance: Wishlist Launchpad Issue: lp1099782 Tags: key, waveform


It would be great if the colour of the waveform changed dependant on key. There is a vamp plugin that can detect key changes within a track I think its no.4 Key Detector on here http://www.vamp-plugins.org/plugin-doc/qm-vamp-plugins.html#qm-tonalchange

This could be really useful for detecting melodic changes and also finding where in the tracks to mix - i.e. same colour should mix harmonically.

What got me thinking was this http://thymenlost.com/wp-content/uploads/2011/04/Traktor-Pro-2-houseq.png If colour changes like those (clearer in the right overview) were linked to the output of the above vamp plugin and mapped onto the HSV wavform - https://bugs.launchpad.net/mixxx/+bug/1074346 this would be really useful for harmonic mixing - you could see beat, tonal and key changes really clearly and quickly.

mixxxbot commented 2 years ago

Commented by: xorik Date: 2013-01-15T11:44:53Z


It is very simple to change base in HSV waveform renderer. You can define HUE for each key and place it in the HSV waveform code.

mixxxbot commented 2 years ago

Commented by: rob2192 Date: 2013-01-15T13:38:44Z


Thats the first step already in place then. The vamp plugin outputs the key for each part of a track which could then be fed into the current HSV code.

This would be a simpler version of the amarok moodbar but should be a lot easier to implement.

As far as I can see all that is needed is for Mixxx to analyse tracks using the Vamp plugin mentioned above and use this data with the HSV waveform.

The analysis part could be added to the key detection currently under development.

mixxxbot commented 2 years ago

Commented by: daschuer Date: 2013-01-15T14:00:14Z


IMO it would be best to have those key colors in the waveform overview.

Once we have that, it would be grate to put it also in the library table like Clementine: http://images.clementine-player.org/screenshots/clementine-1.1-4.png

Maybe we could re-use some of the Clementine code for this since Clementine is coded against Qt as well.

mixxxbot commented 2 years ago

Commented by: rob2192 Date: 2013-01-15T14:11:04Z


I agree, this should be an alternative to the existing waveforms, adding an overview into the library is something for the future.

mixxxbot commented 2 years ago

Commented by: rob2192 Date: 2013-05-20T21:59:38Z


To allow for further waveform development towards something similar to comperitiors (frequency spectrum as colour) a coloured thin bar could run just above the overview to show key changes

mixxxbot commented 2 years ago

Commented by: rryan Date: 2014-01-13T22:33:41Z


Update -- Mixxx 1.12.0 includes key detection and keeps track of the key changes in the track (but does not use them -- currently only the global / dominant key is used).

So anyone looking to work on this, the road is mostly clear to start hacking on the waveforms.