User Tools

Site Tools


gsoc2012_autodj_features

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
gsoc2012_autodj_features [2012/07/28 09:00]
smstewart91 [Fade Now]
gsoc2012_autodj_features [2012/08/11 06:14] (current)
smstewart91 [TO DO]
Line 8: Line 8:
 ====== Abstract ====== ====== Abstract ======
 The main goal of this project is to make AutoDJ sound more like a real DJ.  The main feature that would allow this is beatmatching support in AutoDJ. ​ Currently, AutoDJ only crossfades between two songs over a certain time interval, much like iTunes or other media players can do.  I plan to use the power that Mixxx already has, such as BPM sync and beat detection, to improve the way that AutoDJ handles transitions. The main goal of this project is to make AutoDJ sound more like a real DJ.  The main feature that would allow this is beatmatching support in AutoDJ. ​ Currently, AutoDJ only crossfades between two songs over a certain time interval, much like iTunes or other media players can do.  I plan to use the power that Mixxx already has, such as BPM sync and beat detection, to improve the way that AutoDJ handles transitions.
 +
 +All GUI changes that are mentioned have been added to Deere 1280x1024
  
 ====== Specifications ====== ====== Specifications ======
Line 20: Line 22:
   * Cut - Cut Song A at the cue out and immediately start Song B    * Cut - Cut Song A at the cue out and immediately start Song B 
   * Spinback - A short transition utilizing a spinback effect   * Spinback - A short transition utilizing a spinback effect
-  * Brake - Another short transition using a brake effect+  * Brake - Another short transition using a brake effect, slowing the song using the jogwheel
   * Echo FadeOut - Echo one beat of Song A while decreasing the volume, then start Song B   * Echo FadeOut - Echo one beat of Song A while decreasing the volume, then start Song B
  
 More transitions can be added simply by creating a method for them in the TrackTransition class. ​ There are many types of transitions,​ such as those using the EQ controls, that will not be added now, but could be added at a later time.  More transitions can be added simply by creating a method for them in the TrackTransition class. ​ There are many types of transitions,​ such as those using the EQ controls, that will not be added now, but could be added at a later time. 
 +
 +== Beatmatching Transition ==
 +The beatmatching transition uses a combination of transitions. ​ If the BPMs are similar (within 6% of each other), then the pitch slider and the sync button are used to match the songs' BPMs.  If the current song is faster than the next song, the current song is slowed down using the jog wheel (brake effect) as the crossfader is moved to the other deck.  If the current song is slower, a spinback transition is used to transition to the next song. 
 ===== Cue Points ===== ===== Cue Points =====
 Cue in/out points that are used by AutoDJ are a feature that was mentioned by people in the Mixxx community, and had already been started, so it has been added to this project. ​ It will be implemented differently than the version that was already started, however, which include fade in/out as well as cue in/​out. ​ The fade in/out option is being removed. ​ The transition time option that already exists adds the same functionality that the fade in/out offered. ​ The cue in would be used to mark the point where AutoDJ will start playing a track, while the cue out will mark the point where the next transition will start. ​ Decks currently load tracks at the cue point, so this will be the cue in point for AutoDJ. ​ This will help DJs who already have cue points defined in their library. ​ The cue out point will be added to the cue database, and a button will be added to the GUI, so that users can set the AutoDJ cue out point. Cue in/out points that are used by AutoDJ are a feature that was mentioned by people in the Mixxx community, and had already been started, so it has been added to this project. ​ It will be implemented differently than the version that was already started, however, which include fade in/out as well as cue in/​out. ​ The fade in/out option is being removed. ​ The transition time option that already exists adds the same functionality that the fade in/out offered. ​ The cue in would be used to mark the point where AutoDJ will start playing a track, while the cue out will mark the point where the next transition will start. ​ Decks currently load tracks at the cue point, so this will be the cue in point for AutoDJ. ​ This will help DJs who already have cue points defined in their library. ​ The cue out point will be added to the cue database, and a button will be added to the GUI, so that users can set the AutoDJ cue out point.
Line 77: Line 82:
     * Using cue points: DONE     * Using cue points: DONE
     * Using beatmatching:​ INPROGRESS     * Using beatmatching:​ INPROGRESS
 +  * Create branch to merge into trunk
  
 ==== Open Issues and Bugs ==== ==== Open Issues and Bugs ====
-  * AutoDJ does not take control when one or two decks are already playing +  * AutoDJ does not take control when one or two decks are already playing ​- sometimes 
-  * AutoDJ does not disable automatically when the playlist is over+  * <del>AutoDJ does not disable automatically when the playlist is over</​del>​
   * Cue out marker does not update in waveform overview until the cursor is moved   * Cue out marker does not update in waveform overview until the cursor is moved
     * Same thing occurs with hotcues     * Same thing occurs with hotcues
   * Cue out markers cannot be set after a long period of testing   * Cue out markers cannot be set after a long period of testing
   * Cue out markers are sometimes set in the wrong place when they are created   * Cue out markers are sometimes set in the wrong place when they are created
-  * Beatmatching transition cannot handle songs when the BPMs are out of range of the pitch slider +  * <del>Beatmatching transition cannot handle songs when the BPMs are out of range of the pitch slider</​del>​ 
-  * Tracks not loading at cue point after restarting AutoDJ +  * Tracks not loading at cue point after restarting AutoDJ ​- sometimes 
-  * Pitch slider should be adjusted as soon as a track is loaded during beatmatching+  * <del>Pitch slider should be adjusted as soon as a track is loaded during beatmatching</​del>​ 
 +  * <​del>​If using beatmatching transition with a short transition time at the end of a song, the song may end before transition is complete if the brake effect is being used</​del>​ 
 +  * <​del>​Crossfader jumps to finished position if cue point is passed on Deck B while transition to Deck B is still happening</​del>​
  
 ====== Discussion ====== ====== Discussion ======
gsoc2012_autodj_features.1343480409.txt.gz · Last modified: 2012/07/28 09:00 by smstewart91