Electrix Tweaker mapping

See the wiki page for diagrams explaining the mapping.

The Electrix Tweaker is a flexible, well-built MIDI controller. It does not take up space with space with jog wheels; instead, there are a plethora of multicolor backlit buttons, 8 velocity-sensitive buttons, and 6 infinitely rotating encoders surrounded by LED rings (rather than finite range EQ knobs). It can be used by itself to control most aspects of Mixxx. It has no audio interface, so it requires a separate sound card (although it does include 5-pin MIDI in and out ports). It apparently did not sell well considering how little information there is about it online. It initially sold for $400 in 2013 but is now available for $100 with a free case and free shipping from the manufacturer.

The flexibility of the encoders with LED rings and the multicolor buttons allows this mapping to fit a lot of functionality into a small package. The encoders control EQs, gains, loops, and coarse seeking in various modes. This mapping can control 4 decks by toggling between decks 1/3 on the left and decks 2/4 on the right. Each deck shows 8 hotcues at a time and 4 pages of hotcues are available, providing access to all 32 hotcues allowed by the Mixxx engine. This mapping also takes advantage of slip mode, which is not yet available through any of Mixxx’s skins. With slip mode and all those hotcues, this mapping is excellent for cue juggling.

The Tweaker is a USB MIDI class compliant device, so it does not require any special drivers on any operating system. Just plug it in and load the Mixxx mapping on any OS that Mixxx runs on.

The latest mapping is included in Mixxx 2.0 RC. Use it with the Tweaker MIDI 1 port (Tweaker MIDI 2 is the 5-pin MIDI I/O on the Tweaker).

Thank you so much for this mapping! I really appreciate it! I have one concern though.

When i try to activate rolling loop mode by pressing the top encoder in loop mode, i press the low encoder to start the loop but when i end it, it does not act like rolling loop mode. Is there anything I am doing wrong? and if not, could you maybe figure out what the problem is?

Thank you so much,


I am glad you appreciate it! I was not sure if anyone else even had this lovely little controller. Before posting this thread I saw literally nothing online about anyone attempting to use this controller with Mixxx.

Yeah, the rolling loop function is not working at the moment. I am not sure what happened because I believe it did work previously. I will look into it now that you mention it.

I am continuing to tweak this mapping as I play with it more. If you have suggestions, please share them here. What does this mapping not do that you want it to do? How could it be more intuitive to use? You can get the latest version on GitHub (direct links to mapping files: Electrix-Tweaker-scripts.js and Electrix Tweaker.midi.xml). I plan on submitting this for inclusion in Mixxx 1.12 after I refine it more.

I do have a suggestion. Maybe you can add loop rolls to the pads since it seems to be a common feature on other controllers. Maybe it could be 2 beats,1 beat, 1/2 beat, and 1/4 beat. Maybe only for rolling loops, and keep the loop mode that you on top of headphone cue for regular loops.


Interesting idea, but I’m not that clear exactly how it should work. Can you link me to a document describing such a controller or a video showing how it works?


In this video you can see him using it near the beginning. Notice how he presses the pad and activates the loop and it keeps going till he lets go, and it returns to where it would have been if he didnt loop. thats what i mean. But he has 8 pads for one deck, while the tweaker has 4 for each deck. But thats what i mean. :slight_smile:

Well, buttons are just buttons. They can be for anything the mapping is programmed for. I think I want to keep the big velocity sensitive pads for one-shot samples.

This video of the Numark NS7II shows what you are talking about and other interesting functions. I really like the idea of storing loops. What do you think would be the best way to do this? I have a few ideas:

  1. When in loop mode, start a loop at a hotcue point when a hotcue button is pressed
  2. Change the top row of buttons to store loops in tracks rather than activate looping samplers. This would actually be storing hotcues 5-8 and the script would start loops from those points with the length selected by the bottom encoder in loop mode because Mixxx does not actually store loops (see this feature request). If I did this, I think I’d move the other rows up and put this functionality on the bottom row.
  3. Move button rows 2 and 3 up, get rid of row 1, and use the bottom two button rows as multifunction 4 by 2 grids like the NS7 and many other controllers. Because the buttons are multicolored, the color could indicate the mode. I’m not sure how I’d implement the controls for changing modes… perhaps shift+top encoder? I’ll do more research on what other controllers and software do with these buttons.

I am leaning towards #2 or #3. The looping samplers on the top row were added kinda just to fill space. While the Mixxx engine supports them, I don’t know if they’re really that useful without any skins showing them.

I want to add a way to manually set loop in and out points. What do you think would be a good way to do this? My first thought is to make shift+mode button place the loop start point and shift+headphone button place the loop out point. Do you have any other ideas?

I am trying to implement #2 from the above post, but I am running into a bug in Mixxx.
For now, I have gotten rid of the top row of looping samplers, moved the rest of the controls up a row, and assigned the bottom row to hotcues 5-8. I have fixed the rolling loop bug. I also made it so that when tracks finish, they jump back to their cue point. You can try out these changes by getting the latest mapping from my GitHub repository.

I’m going to add some way to toggle slip mode. Apparently Mixxx supports this but there are no GUI controls for it in the skins.

Cool, man thanks for everything! Ill make sure to keep looking at this tread for updates and such.

But thanks for this controller mapping.

Big update! I rearranged the whole button grid. See the top post for a complete description of the mapping now. Changes since version 0.2:

  • remove looping samplers
  • make room for two rows of hotcues
  • switch between pages of hotcues with shift + middle encoder
  • support slip mode. Remove beatlooproll/beatloop toggle switch in favor of slip mode that applies to both loops and hotcues
  • add a shift button per deck in the button grid for easier use with one hand
  • rearrange controls in grid
  • colors of most buttons in grid represent whether deck 1/3 or deck 2/4 is active on the controller
  • add controls for manual loop in/out points
  • add control for key lock
  • add control for beatgrid shift

Playing with cue juggling in slip mode is so fun! :smiley:

As always, please continue to report bugs and share suggestions. I’ll make a diagram of the mapping when I am satisfied with keeping the arrangement and submit it for inclusion in Mixxx.

Pegasus, could you test this?

0.3.1: Small update: shift+sync now resets the speed

0.3.2: Fixed the bugs with changes to inactive deck affecting the LEDs and hotcues not working in slip mode with quantize on. However, the workaround required getting rid of the ability to keep playing when hitting play while holding down a hotcue in slip mode (starting from pause). I won’t be able to fix that until this bug is fixed. Also, shift+fwd/back buttons with quantize off changed to temporary rate adjustment.

0.4: Make top shift + play/pause jump to cue point and stop. Add user options to top of script. Fix bug with encoder LED ring for selecting hotcue pages. Organize code.

0.4.1: do not change keylock LED when key of track changes. Use shift+keylock to reset key if key has been changed from track’s original key

Feedback and suggestions are appreciated :slight_smile:

0.5: add vinyl mode to replace navigation buttons with vinyl control options. This is toggled on a per-deck basis.

A pull request has been made on GitHub to include this in Mixxx 1.12.

1.0: You can now continue playing while previewing a hotcue (holding it on a paused deck with slip mode on) by pressing the play button. Also, hotcue pages are now color coded to represent the active hotcue page rather than the active deck (the active page is specific to each deck, so you can toggle between decks and the active page for each deck is remembered). I swapped the functions of the middle and low encoders with shift pressed to make switching between hotcue pages easier. Now, shift+low encoder changes the hotcue page and shift+middle encoder jumps by 32 beats. This makes it easy to switch hotcue pages with one hand.

Personally, I have been finding these changes very helpful. My way of preparing tracks is to put a hotcue point at every major transition in the track. With the 32 accesible hotcues, this is no problem. Most tracks only require using the first page of 8 hotcues although I use some of the second page for longer tracks. This strategy allows me to quickly and easily remember the details of tracks and figure out where I want to start mixing in the track.

The remaining pages can be used for playing short bits of the track like samples to mash up (with slip mode on and pressing the hotcues while the deck is paused), which can get really really fun. :smiley: This is quicker to set up than chopping segments out of tracks into separate sample files.

This mapping has been merged into Mixxx 1.12.

1.1: separate functions of deck shift and top shift buttons. Now holding top shift changes the encoders to a new mode that controls channel gains, master gain, headphone gain, headphone mix, split cue mode, and master balance. Shift+right analog knob to control headphone mix has been removed.

A wiki page has been created with diagrams explaining the mapping.

hey all, im new to the forum, new to mixxx, and saw this interesting controller for sale, was wondering if anyone of you could tell me your experiences with it so far. also because of the crazy price, is there any setup where 2 of them in an array would be useful?

please PM or I will check here. i apologize if this is in the wrong forum, if so, mod can delete, but hopefully someone PM me. once I pick this up, am excited to test out your mapping.

My experience with the Tweaker has been great. Two of them could be useful for 4 deck control without having to toggle between decks 1/3 and 2/4. It is easy to get confused when using one physical volume fader for two different decks and switching between them. I have thought of a workaround for this using one device: mapping the volume faders to only decks 3 & 4 and unassigning decks 3 & 4 from the crossfader. This way, I’d use the crossfader for decks 1 and 2 and the volume faders for 3 and 4. I have not gotten around to actually trying this yet.

You could also use a second Tweaker for easier access to cue points or samples if you want to modify the mapping. One of the Novation Launchpad controllers might be a better choice for that if that’s all you want to use it for though.

hi Be, thanks for your reply. I just went with 1 unit as I want to learn how to map it and use it properly (both with Mixxx and with Ableton). I have seen you post on a bunch of other sites about this unit. I’m excited to see what I can do with it (and hopefully in a timely fashion).

If I need to get another unit for triggering cue points etc, I will probably get a different controller per your suggestion