User Tools

Site Tools


hercules_dj_control_mp3_e2

Hercules DJ Control MP3 e2

The Hercules DJ Control MP3 e2 is a USB MIDI controller without a built in sound card. It is compatible with Mixxx versions 1.8+ herc and later. It works in Linux 32/64 bits (from kernel ~2.6.27+), Windows (XP, Vista, 7), and MAC OS X (10.4.11 (Tiger)/ 10.5.x (Leopard)/ 10.6.x (Snow Leopard) 32-bit)

MIDI driver

The midi device on the MP3 e2 is NOT USB-midi class compliant. For that reason it requires specific drivers to be working on each OS.

MAC OS / Windows

Drivers for MAC OS X and Windows can be found on Hercules support page.

Linux

Hercules has released a common MIDI-driver for their DJ controllers. Read more on the page for Hercules Linux kernel module

USB HID

As of Mixxx v1.11-beta2 this controller is supported through USB HID. This works without any additional kernel drivers. If the Hercules driver causes a kernel panic on your linux distribution you can use this feature.

Enable the controller in Ubuntu by following the steps below:

  1. Remove the hdjmod-dkms driver if installed:
    sudo apt-get remove hdjmod-dkms
  2. Add the Mixxx v1.11 or v1.12beta repositories (use the mixxxbetas ppa for 1.12 beta version until v1.12 final is released).
    sudo add-apt-repository ppa:mixxx/mixxx
    sudo apt-get update

    or

    sudo add-apt-repository ppa:mixxx/mixxxbetas
    sudo apt-get update
  3. Install Mixxx (remove older version prior to install):
    sudo apt-get install mixxx
  4. Plug-in the controller and run mixxx
  5. Go to Preferences, select and enable “Hercules ..” device listed under Controllers (do not select Midi Though!)

If the device is still not visible as a separate entry under “Controllers” you need to modify the device permissions using udev rules. First create the rule file:

sudo nano /etc/udev/rules.d/hercules-usb.rules

Add following lines to this file:

SUBSYSTEM=="usb_device", SYSFS{idVendor}=="06f8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="06f8", MODE="0666"

Save the contents and restart udev:

sudo /etc/init.d/udev restart

Pull out the controller and plug it in again. Run mixxx and select “Preferences” → “Controllers” and you should be able to select and enable the controller.

Mapping for Mixxx 1.11 and below

Old Mapping included in Mixxx up to version 1.11 can be found here

Mapping for Mixxx 1.12+ (by knob/button)

The Hercules MP3 e2 mapping for Mixxx is integrated in Mixxx so you don't have to download or install anything. This mapping consist of 4 files :

  • Hercules DJ Control MP3 e2.midi.xml: the MIDI xml mapping file. It uses the following script.
  • Hercules DJ Control MP3 e2-scripts.js: The main script for MIDI mapping. Also used by the Bulk/HID compat script
  • Hercules DJ Control MP3 e2.bulk.xml: The Bulk/HID xml mapping file. Just saying “hey, pass all incoming data to the compat.js MP3e2.incomingData function”
  • Hercules-mp3e2-compat.js: The Bulk/HID script, that reads HID incoming data and call functions from the MIDI script

This mapping allow you to manipulate 4 decks, 2 at a time, switching Deck A (left) between Channel 1 and 3 and Deck B (right) between Channel 2 and 4.

Global controls

Number Control Function shifted Supershifted
8 Arrow up/down Up : goes one track down
Down : Microphone TalkOver
Up : Goes one track up
Down : Nothing
Nothing
6 Folder Toggles (expands/collapses) the currently selected library sidebar item Play/Stutter sampler 1/3 Stop sampler 1/3
10 Files Toggles (expands/collapses) the currently selected library sidebar item Play/Stutter sampler 2/4 Stop sampler 2/4
18 Load A/B Loads the currently highlighted track into the corresponding deck (A or B) Loads the current highlighted track into the corresponding sampler (1 or 2) Switch deckA between Channel 1 & 3 and deckB between 2 &4
19 Crossfader Fades between left (channel 1 & 3) and right (channel 2 & 4) deck
9 Automix Used as a master shift button to obtain more controls than those provided by Hercules. Press & Hold automix, then press corresponding button to obtain shifted behavior.
7 Scratch Enable or disable the scratch mode on both decks Used as a master supershift button to obtain a third level of controls. Press & Hold Automix, then press & Hold Scratch, then press corresponding button to obtain supershifted behavior

Deck / Channel specific controls

Number Control Simple function Shifted function Supershifted function
1 Pitchbend +/- Temporary Holds the pitch 4% higher while pressed + double loop
- half loop
+ Filter High Kill
- Filter Low Kill
2 Master Tempo Syncs the BPM and phase to that of the other track (if BPM is detected on both).
Led blink: master
Fixed led: follower
Led off: none
Enable key-lock for the specified deck (rate changes only affect tempo, not key) Magnet
3 Pitch knobs Adjusts playback pitch/speed Deck A: adjust the headphone volume
Deck B: adjust the cue/main mix in the headphone output
Quick Filter knob
4 Loop/Fx Toggle the Loop/Hotcue mode for the keys buttons.
When the button is not lit up the loop buttons are enabled, when the button is lit up the hotcue's buttons are enabled
5 Equalizer knobs Adjusts the gain of the low/medium/high equalizer filter
11 1/2/3/4 buttons Loop mode:
1 - loop-in
2 - loop-out
3 - Toggles current loop On or Off
4 - Loop 4

Hotcue mode:
1, 2, 3 and 4: If hotcue X is set, seeks the player to hotcue X's position. If hotcue X is not set, sets hotcue X to the current play position.
Loop mode:
1 - Loop 1/4
2 - Loop 1/2
3 - Loop 1
4 - Loop 2

Hotcue mode:
If hotcue X is set, clears its hotcue status.
Loop mode:
1 - Clear loop
2 - Loop 1/8
3 - Loop 8
4 - Loop 16

Hotcue mode:
Nothing
12 Forward \ Backward Fast forward/backward Adjust pregain
13 Sync Automatically sets pitch so the BPM of the other deck is matched Adjust BeatGrid Kill Mid
14 Play Starts or stop a loaded track Backward Play Repeat
15 Cue Sets the cue point if a track is stoped and not at the current cue point
Stops track and returns to the current cue point if a track is playing.
Plays preview if a track is stopped at the cue point for as long as it's held down
16 Jog wheel Seeks forwards and backwards in a stopped track.
Temporarily changes the playback speed for playing tracks
Absolute sync of the track speed to the jog wheel if the scratch mode is enabled
Deck A: Select prev/next playlist
Deck B: select prev/next track
17 Deck volume slider Controls the deck output volume.
There is soft takeover after deck switch (1/3 or 2/4) to prevent wide parameter changes when the on-screen control diverges from the hardware control. Manipulating the control on the hardware will have no effect until the position of the hardware control is close to that of the software, at which point it will take over and operate as usual.
20 Headphone monitor Toggles this deck output to the headphones monitor on/off

Mapping for Mixxx 1.12+ (by command)

Shift / Supershift

Function Control number
Shift button to obtain more controls than those provided by Hercules.
Press & Hold automix, then press corresponding button to obtain shifted behavior.
Automix 9
Supershift button to obtain a third level of controls.
Press & Hold Automix, then press & Hold Scratch, then press corresponding button to obtain supershifted behavior.
Shift-Scratch 7
Switch deck A (left) between Channel1 and Channel3 (also apply to Sampler1 and Sampler3) Supershift + Load A 18
Switch deck B (right) between Channel2 and Channel4 (also apply to Sampler2 and Sampler4) Supershift + Load B 18

Library

Function Control number
Select prev/next playlist Supershift + Deck A Jog Wheel 16
Toggles (expands/collapses) the currently selected library sidebar item Folder 6
Go one track down Up arrow 8
Go one track up Shift + Up arrow 8
Select prev/next track Supershift + Deck B Jog Wheel 16
Loads the currently highlighted track into the corresponding deck (A or B) Load A/B 18
Loads the current highlighted track into the corresponding sampler (1 or 2) Shift + Load A/B 18

Master/Headphones/Microphone

Function Control number
Microphone TalkOver Down Arrow 8
Fades between left (channel 1 & 3) and right (channel 2 & 4) deck Crossfader 19
Headphone volume Shift + Deck A pitch knob 3
Adjust the cue/main mix in the headphone output Shift + Deck B pitch knob 3
Toggles deck output to the headphones monitor on/off Headphone monitor 20

Sampler

Function Control number
Loads the current highlighted track into the corresponding sampler (1 or 2) Shift + Load A/B 18
Goto start & Play sampler 1/3 Shift + Folder 6
Stop sampler 1/3 Supershift + Folder 6
Goto start & Play sampler 2/4 Shift + Files 10
Stop sampler 2/4 Supershift + Files 10

Decks / Channels

Playing

Function Control number
Loads the currently highlighted track into the corresponding deck (A or B) Load A/B 18
Starts or stop a loaded track Play 14
Backward Play Shift + Play 14
Toggle Repeat Supershift + Play 14
Sets the cue point if a track is stopped and not at the current cue point.
Stops track and returns to the current cue point if a track is playing.
Plays preview if a track is stopped at the cue point for as long as it's held down
Cue 15
Move Forward/Backward in track Forward / Backward 12
Enable or disable the scratch mode on all four decks Scratch 7
Seeks forwards and backwards in a stopped track.
Temporarily changes the playback speed for playing tracks.
Absolute sync of the track speed to the jog wheel if scratch mode enabled
Jog wheel 16
Volume / Equalizer / Effects

Function Control number
Controls the deck output volume, with soft takeover on deck switch. Deck volume slider 17
Adjusts the gain of the low/medium/high equalizer filter. No soft takeover. Equalizer knobs 5
Filter Low Kill Supershift + Pitchbend - 1
Filter Mid Kill Supershift + Sync 13
Filter High Kill Supershift + Pitchbend + 1
Adjust pregain Shift + Forward / Backward 12
Quick Filter knob Supershift + Pitch knobs 3
Hotcues

Need to be in Hotcue mode (button Loop/Fx (4) lit up). If not, press Loop/Fx button to switch to hotcue mode.

Function Control number
If hotcue X is set, seeks the player to hotcue X's position. If hotcue X is not set, sets hotcue X to the current play position. 1/2/3/4 buttons 11
If hotcue X is set, clears its hotcue status. Shift + 1/2/3/4 buttons 11





Loops

Need to be in Loop mode (button Loop/Fx (4) turned off). If not, press Loop/Fx button to switch to Loop mode.

Function Control number
loop-in Button 1 11
loop-out Button 2 11
Toggles current loop On or Off Button 3 11
Clear Loop Supershift + Button 1 11
loop 1/8 Supershift + Button 2 11
loop 1/4 Shift + Button 1 11
loop 1/2 Shift + Button 2 11
loop 1 Shift + Button 3 11
loop 2 Shift + Button 4 11
loop 4 Button 4 11
loop 8 Supershift + Button 3 11
loop 16 Supershift + Button 4 11
Double loop Shift + Pitchbend + 1
Half loop Shift + Pitchbend - 1
Pitch / Syncing

Function Control number
Temporary Holds the pitch 4% higher while pressed Pitchbend +/- 1
Set deck as master clock.
Led blink: master
Fixed led: Follower
Led off: none
Master tempo 2
Adjust playback pitch / speed Pitch knobs 3
Automatically sets pitch so the BPM of the other deck is matched Sync 13
Enable key-lock for the specified deck (rate changes only affect tempo, not key) Shift + Master tempo 2
Magnet (all cues, hotcues, loops, and beatloops will be automatically quantized so that they begin on a beat.) Supershift + Master tempo 2
Adjust beatgrid Shift + Sync 13
Enable or disable the scratch mode on all four decks scratch 7
Seeks forwards and backwards in a stopped track.
Temporarily changes the playback speed for playing tracks.
Absolute sync of the track speed to the jog wheel if scratch mode enabled
Jog wheel 16

Troubleshooting

First, see Troubleshooting and be sure you have set up an HID udev rule like explained on top of this page.

If your jog wheels doesn't work, or nothing works on the controller even when you have carefully read all other resources, you should be aware that this controller stores at least two configuration options in the controller:

  • Enable/disable Jog Wheels
  • MIDI channel to use

and maybe a third one : Jog wheel sensitivity

on factory defaults, the jog Wheels are enabled and the midi channel used is channel 1. the mapping is made for channel 1 only, if your controller is configured for another channel, nothing will work and if you launch Mixxx with --controllerDebug parameter, you will have lines like this one showing in the logs when you press a button on the controller :

Debug [Controller]: "DJ Control MP3 e2 : 3 bytes: B3 38 38 " 

note the B3 here. it's B<channel nr -1). So this controller is configured on channel 4. controller configured on channel 1 will show B0, which is correct.

To change these parameters, you have to use the configuration tool shipped by hercules that comes with the hercules driver on on Hercules support page. Unfortunately, Hercules only provide it for windows and MacOS, we are not aware of any solution for linux. So you will have to find a computer with windows, install Hercules driver, plug-in the controller and change configuration.

hercules_dj_control_mp3_e2.txt · Last modified: 2015/08/20 20:30 by be.ing