Full Navigation with MIDI controller only - Nailed it!

Share your favorite Ableton Live tips, tricks, and techniques.
Krugger
Posts: 422
Joined: Sun Sep 04, 2005 1:16 am
Location: London

Full Navigation with MIDI controller only - Nailed it!

Post by Krugger » Sun Sep 04, 2005 12:43 pm

Headline
Ever wondered what Bidule was? Ever wondered why use Midi Translator? Ever read thousands of posts and still be clueless?
ME TOO!!

Consider this:
Package arrives >>>>>> Package delivered to Ableton
That's your normal MIDI assignment in Ableton. As you can see, the job gets done but you can't do anything with the package before Ableton gets it (package here being a MIDI command)

Now check this one out:
Package arrives >>>> Package delivered to Middle Man
Middle Man modifies package >>>> Package given to delivery boy
Delivery boy takes package to Ableton.

Long way, but more flexible. Now you can modify the package before it reaches Ableton. Why you would do that, I'll explain later (ex: track change using 1 knob only). For now, the mapping above is as follows:
MIDI command arrives >>>>>>>> Midi delivered to Bidule
Bidule modifies the Midi command >>>>>> Modified midi given to MIDI Yoke
Midi Yoke delivers Midi command to Ableton.

So.........Bidule is your middle man. And Midi Yoke is just a delivery boy, technically presenting itself as a virtual midi input. You can also use "LOOPBE" here instead of Midi Yoke

--------------------------------------------------------

It's been weeks (and weeks) that I've been reading posts trying to find solutions to navigation problems in Ableton (track change etc).

I guess I was also trying to find a quick way out and when reading about such and such effort to be made using Bidule, Bome, Midi Yoke etc .... I didn't bother.

However, I can tell you this: it's worth the effort! I know there's many of you out there trying to figure out way to use your controllers more productively or to use the mouse/keyboard less etc.
There seems to be solutions (or hints) to various questions scattered on the net and in the forum.

Hence, I've decided to try and summarise all of it here and I'm glad to answer questions based on my post afterwards.

I'm gonna start easy then move on to Bidule which IMO demands more time than the rest.

Evolution UC-33E

This section only applies if you've got this controller obviously. But I thought I'd thrown it some notes here as I did have some problems and other people's posts helped me so here's the summary of problems v/s solution

1) Buttons needing 2 hits to do their job.
Example: You can button 1 to fire a track's selected clip and every (bloody) time you need to hit the button twice for it to 'do-work'.
That's cause it's firing ON and then OFF for every hit. You want it to fire ON all the time.
How?
a) Choose your preset (1 - 4 on first button row or choose any other preset)
b) Press the targeted button (ex: no 1)
c) Press Assign
d) Quickly press: 1 4 7
e) You'll see some flashing
f) You're done.
Easy to check: if you press no 2 (which I'm assuming you havent changed yet), it says 127. You press again, it says 00. Again, 127. And so on, alternating between 0 and 127 (on, off)
With the newly programmed no 1 button (see above), if press it, you always get the same number now (on, on, on, on, etc).
Yep, you've guessed it >> do the same for all buttons you need to operate in this style!

2) SAVE!!! Yeah, always save your work. When you're done, press STORE then press the preset number you wanna save it to. Job done.
If you do not store it then if you change preset and come back to this preset later, your button programming will have been lost.


AutoHotKeys (google it and download it - it's free)

This baby allows you to map keys on your keyboard (or combination of keys) to anything like combo of keys, phrases and >> mouse movement/click.
Read the help, it explains how to key in your own automation. There's 2 examples already in the script file and it's dead easy.
Oh and dont forget to 'reload script' after changes are made so that you can try them.

Examples:
1) Pressing one key on the keyboard that fires (say) 3 keys. Then assign each of these 3 keys to 3 different parameters and/or actions in Ableton.
Now with 1 keystroke, you're affecting many parameters/actions at once.

2) Mouse movement (this becomes sweeeeeeeeeeet later, so wait for it!!)
You can program 4 buttons (I'm using the Windows Key + <a letter> ) to do mouse up, down, left and right.
AutoHotkeys allows you to say by how much the cursor moves for each keystroke (I've set mine to 10 pixels), the acceleration (use 0 for instant) etc.
My setup looks like: (by the way, the 'windows key' is the key that's between CTRL and ALT and if pressed simply, it will fire START button)
windows key + w = mousemove 0,-10 (10 pixels up)
windows key + a = mousemove -10,0 (10 pixels left)
etc etc
When you read the help and look at the samples, the above will become clearer.

NOTE: windows key + d is a Windows registered command to minimise windows - avoid such combinations. I'm using W for up, A for left, G for right (d & f are doomed), S for Down and Q for click.
Oh yes, you need to create a click mapping as well, I've used windows key + Q
ps: MouseClick is powerful as it allows you to say which button is clicked (i'm just using default left for now) and even if you wish it to simulate a scroller wheel up/down!

Anyway, that's AutoHotKeys. Details in manual and at the end of this, you need to be able to move your mouse cursor around your screen and simulate clicks using your keyboard only. I'm using combo of windows key + <a letter> but you can use ALT or CTRL or both etc. I've used windows key cause no shortcut in Ableton begins with Windows Key so it was safe.

LoopBE (google and download it)

You can use Midi Yoke here instead but I'm using the above and it works fine and installs easily.
Anyway, install it and you'll see a little plug icon in your system tray (near your clock display)
Now you've got a virtual MIDI cable.
Why? See below!

Bome MIDI Transalator
This thing [/b] is simpler than Bidule for sure. And it also focuses on 1 thing: to translate MIDI into another MIDI command or a keystroke.

I'm running out of time here as I need to leg it and go see the Grand Prix so I'll chuck in some summary of Bome MIDI and do the details + Bidule one in another post

With Bome Midi Translator:
1) Set the MIDI IN (using the menus) to your MIDI controller
2) Set the MIDI OUT to LoopBE virtual MIDI

What's you're effectively doing is sending all commands from your physical controller to the virtual MIDI.
If you setup Ableton to receive Midi Remote Input from LoopBe, then:
MIDI Controller >>> Bome MIDI Translator >> LoopBe Virtual >> Ableton

Now 'ADD' a new translation. Select 'Capture MIDI', press a button on your controller ,you'll see the MIDI code.
For this post, I'll show you MIDI mapping to keystrokes only, I'll go into more details in another post (the Grand Prix sorry!!)
Click on the Key Stroke tab and insdie the text box, press the UP cursor key. It will display UP
Do the same for other buttons and cursor key down, left and right.

Now go to Ableton, make sure you're taking Midi Remote Input from LoopBe virtual midi.
Click on the clip grid so select any clip. Now use those buttons you've assigned to move the highlighted clip up, down, left and right.........as if pressing the cursor keys!

Now here's the real deal: You remember earlier on you've assigned 'windows key + <a letter> to move the mouse cursor and simulate clicks?????
Yep........you've guessed it:
Change preset on your controller to get a fresh set of buttons, and using Bome Midi Translator, map new buttons on your controller to <windows key + <whatver letter you picked>.
Here's what you're trying to do:
MIDI controller presses button 1 >> Bome Midi Translator translates button 1 to <windows key> + <w> >>> AutoHotkeys translate <windows key + w> to mouse up.
Try it (of course you want to!) >> Go to Ableton, and use those buttons and you'll see the mouse cursor move! and you can click too.

Note
1) The above works if both AutoHotkeys and BOME Midi Translator AND LoopBe are running. All 3 software display an icon in the system tray so you'll know.

2) Again, careful with what letter you combine with Windows Key. You can easily see what I mean if you go to Bome Midi Translator, go to Key Stroke tab and inside the text box, try Windows Key + Q >> it writes it down.
But try Windows Key + D >>> your window disappears! as you've just fired a minimise command in Windows XP.
So dont use D (and F as I've discovered) - I'm using q, w, s, a, g and they work for up, down, left, rigth and click.

There you go! You can now:
1) Think about how 1 key can be usefully assinged to many actions/properties
2) Navigate through your clips using midi buttons acting as cursor keys
3) Move around any application (hence Ableton) using your midi controller as a mouse cursor

Clip Properties
Users have asked to be able to view clip's properties WITHOUT launching the clip? The cursor key mapping does the trick! If you use the midi controller to simulate keys and highlight clips, the clip's properties will be displayed! And no launching.
Also, to swap between clip's properties and Track properties (where the clip lives), press F12 to alternate betwen those 2 views.
Of course, you can map F12 to any midi command now!


Note: The clips area in Ableton needs to be active (on 1 cell) for the cursor keys to work, hence the Midi cursor keys too.
Sometimes you click on something else in a different area of Ableton (ex: the Browser) and u need to click back on the clips area otherwise cursor keys operate on the Browser instead.
One quick way to make Ableton get back into Clips area is to hit TAB twice. It goes to Arrangement view then back into Session view with the clips area active!
You can always map the TAB key to a midi key.

OK in my next post:
1) How to convert midi cc to distinct notes
Example: assign a distinct note to each Track number.
Then instead of a knob going from 0 to 127 as it normally does, you can convert each number to a distinct note.
Hence 0 convert to C-1, 1 convert to C#1, 2 convert to D-1 etc
As you've assigned notes to Track numbers, turning the knob will sequentially send notes from Track 1 to Track x offering navigation

2) How to use Bidule to do other stuff like limit the level of a knob to do (say) 1 - 5 instead of 0 - 127
Say you had 5 tracks and you wanted knob movement from track 1 to 5.
If you went with the 0 - 127 range,
0
1
2
.
.
10
.
.
.
.20
.
.
.
127

You only need 5 numbers from that range for each of the 5 tracks. Then (as described above) for each number you've picked, you gonna put a converter on it to make it a note (so that the note activates the Track).

Hence, as an example, from 0 - 127, you would have picked
10 for Track 1
40 for Track 2
70 for Track 3
100 for Track 4
120 for Track 5

The problem you'd have is with precision. If you turn the knob quick enough (that's actually the normaly way to turn it!) you would go 0,1,2,7,12.....oops, you've missed Mark 10 for Track 1) Now you can to slowly come back until you hit it. It's like trying to open a safe in movies.

If you use Bidule to limit the knob to do 1 - 5. what Bidule is effectively doing is applying a replacement output for a range of number.
Mathematically speaking, if you have 0 - 127 hence 128 values and someone only wants 5 tracks, you'd say
0 - 24 all map to 1
25 to 50 all map to 2
etc etc
See now, a whole range of midi numbers map to a single number, meaning you don't have to be precise anymore.
As soon as the knob hits cc 1, 2, 3 etc , Track 1 is selected.
And to select Track 2, you only have to be in the region of 25 to 50, instead of EXACTLY 25.

I better go before the end of this post becomes my next post!

Would be great to know if this post helps anyone out here. Bloody long post if you ask me!

Krugger
Last edited by Krugger on Sun Sep 04, 2005 9:05 pm, edited 1 time in total.

serotoninsteve
Posts: 1094
Joined: Wed Jan 28, 2004 2:27 pm
Location: Luxembourg

Post by serotoninsteve » Sun Sep 04, 2005 1:47 pm

Not bad for the first post here! 8O

I´ll give that a try, and welcome to the forum.

Greetings
MBP 15,4" 2,53GHz C2D 4Gb late 2008 / Mac OS X.6.2 / Novation Remote 37SL Compact / TriggerFinger / FaderfoxDJ2 / Padkontrol / UC33 / SM Audio TB202 / Audiofire2 / Apogee Duet / Event OPAL's / HD25 /

Diskclaimer
Posts: 295
Joined: Wed Feb 23, 2005 1:59 am
Location: Danbury, CT
Contact:

Post by Diskclaimer » Sun Sep 04, 2005 2:36 pm

Yes, Welcome to the forum indeed!!!!

I'v not read a post like that...well.......ever :!:

hambone1
Posts: 5346
Joined: Fri Feb 04, 2005 8:31 pm
Location: Abu Dhabi

Post by hambone1 » Sun Sep 04, 2005 3:57 pm

Krugger

Lie down in a darkened room...

Diskclaimer
Posts: 295
Joined: Wed Feb 23, 2005 1:59 am
Location: Danbury, CT
Contact:

Post by Diskclaimer » Sun Sep 04, 2005 4:31 pm

hambone1 wrote:Krugger

Lie down in a darkened room...
Yes It was a bit spastic..

Krugger
Posts: 422
Joined: Sun Sep 04, 2005 1:16 am
Location: London

Post by Krugger » Sun Sep 04, 2005 9:13 pm

(back from the darkened room)

quick question: anybody out there got the BitStream 3X from WaveIdea.com?
How's the build quality etc? Is it really as good as the website wants you to believe?

thanks

serotoninsteve
Posts: 1094
Joined: Wed Jan 28, 2004 2:27 pm
Location: Luxembourg

Post by serotoninsteve » Sun Sep 04, 2005 11:48 pm

I have the older one, the BitstreamPro.
The build quality is rock solid aluminium 19", fast short 40mm faders.
The push buttons feel a bit crap plastik but do their job.
The new one is surely better, just to mention D-beam style controller and usb powered.

I would say not cheap, but well worth the money.

Greetings.

P.S. Mine is to sell, give me p.m. if interested.
MBP 15,4" 2,53GHz C2D 4Gb late 2008 / Mac OS X.6.2 / Novation Remote 37SL Compact / TriggerFinger / FaderfoxDJ2 / Padkontrol / UC33 / SM Audio TB202 / Audiofire2 / Apogee Duet / Event OPAL's / HD25 /

GaryTracks
Posts: 206
Joined: Fri Jun 10, 2005 11:36 pm
Location: Wine Country, California

Post by GaryTracks » Mon Sep 05, 2005 5:01 am

any hint of direction for us mac users? this is the first moment i wish i had a PC. (well, my 50-60% CPU usage were some other moments).
COSMO'S GEAR: G4 Powerbook 1.5g-1.5ram/Motu 828mkII/Access Virus Indigo/Handsonic HPD15/Battery 2/Korg 01W/BCR and BCF2000/Event 20-20 bas/Lacie FW

Clearscreen
Posts: 1743
Joined: Sun Jul 11, 2004 5:07 am
Location: Melbourne AU
Contact:

Post by Clearscreen » Mon Sep 05, 2005 5:27 am

you could check out controlaid http://www.charlie-roberts.com/controlAid/

for a start, and then download bidule for OSX...http://www.plogue.com/index.php?option= ... tcat&cat=1
Hp Elitebook 2.8Ghz. Live 7.0.14 & Live 8.1.5, XP Pro. and stuff...

inis
Posts: 665
Joined: Sun Jun 05, 2005 9:12 pm

Post by inis » Mon Sep 05, 2005 6:22 am

I was just goin to say, this is some very well constructed info.

As far as the UC-33, there is a much easier was to do everything on it, including changes CC's from 1-5 instead of 0-127. Its called Enigma. M-Audio makes it, its free. Im sure almost everyone knows about it. It allows you to easily change channel, CC, and MSB, LSB numbers. As well as store the presets on your computer for easy download back into the UC-33 when you need them.

Krugger
Posts: 422
Joined: Sun Sep 04, 2005 1:16 am
Location: London

Post by Krugger » Mon Sep 05, 2005 9:07 am

Thanks for the info. I did download Enigma once, then dunno...I guess I forgot about it and never tried it. My bad.

Here's a thought:

If a MIDI controller has a joystick (like the Bitstream 3X), then up, down, left & right can all be assigned MIDI notes.
If Bome MIDI translator is used to spit out keystrokes based on those MIDI notes and in return, if AutoHotkeys is made to convert those keystrokes into mouse movements, you've got yourself a mouse controller.

However, the annoying thing is that MIDI Translator only fires the keystroke once. When I assigned such functionality to a button on my UC-33E, I had to repeatedly push the button for the mouse cursor to keep moving.

If you cross the bridge and use AutoHotkeys directly (i.e, deliver the keystroke manually via your keyboard) and at the same time, leave the keyboard button(s) pushed, the mouse cursor moves repeatedly. Hence, AutoHotkeys is good for the repeat, just like you'd expect by leaving a key pressed on your keyboard.

I guess the question is :?: can anything be done so that when the MIDI note is fired, something else (eg. Bidule) can detect it and repeat firing the same note?
Hence when the joystick is pushed to the left, the same note is fired constantly until the joystick comes back to the center position.
Otherwise, you'd have to push it to the left, bring it back middle, then push left again and so on.

My personal feeling is that if I can get a joystick which can act like a mouse, then I wouldn't really give a toss whether Ableton is providing XYZ navigation functionality or not. Sure, it's great to shortcut an access to a feature but you've always got Plan B without needing to access your laptop/mouse.
I'm allllllllllmost there - just the repeat feature missing.

ps: By the way, I did ask the Bitstream 3X forum about whether the joystick can simply emulate a mouse directly, got no reply for days so I'm assuming a 'no'.

Thanks

hoffman2k
Posts: 14718
Joined: Tue Jun 15, 2004 6:40 pm
Location: Belgium
Contact:

Post by hoffman2k » Mon Sep 05, 2005 9:24 am

If you just want a joystick to emulate a mouse. Why not use a gamepad?
I use a software called USB overdrive (mac), Which allows me to use the joystick as a mouse. There must be a pc equivalent.

On the other hand. You could just map the midi joystick to whatever key controls the built-in mouse.
On mac. You hit alt 5 times in a row, then the numpad will act as a mouse.
Don't know for pc. I figure there must be something in your OS for when the mouse is broken.

Cheers

conny
Posts: 3237
Joined: Sat Nov 13, 2004 5:20 pm
Location: Sweden
Contact:

Post by conny » Mon Sep 05, 2005 11:13 pm

Great post (I guess...)
Bidule's HID controller interface will be of use for many of us.

// C
PC Laptop Acer, XP Home SP2, build in crappy sound card.
Bleeps and Blops!
http://bluemoose.greatnow.com/

conny
Posts: 3237
Joined: Sat Nov 13, 2004 5:20 pm
Location: Sweden
Contact:

Post by conny » Mon Sep 05, 2005 11:16 pm

Krugger wrote: I guess the question is :?: can anything be done so that when the MIDI note is fired, something else (eg. Bidule) can detect it and repeat firing the same note?
Please ask:
www.plogue.com

// C
PC Laptop Acer, XP Home SP2, build in crappy sound card.
Bleeps and Blops!
http://bluemoose.greatnow.com/

ben_blue
Posts: 422
Joined: Wed Mar 16, 2005 2:25 am
Location: TN | USA
Contact:

Post by ben_blue » Tue Sep 06, 2005 2:49 am

ive used plogue to make a cycling channel selector ala the CTRL 92 - (http://www.richiehawtin.com/CTRL/CTRL92.html).

IE - one knob cycles between selecting all my tracks, thus showing the fx for each, AND (which can be unlinked ) the same three knobs, for example, do EQ for the channel selected via selector knob.


if you want i can explain how i did it.

also i made an eq- normalizer, and aux normalizer - one button defualts the eqs to 0dB or aux's to all the way down.

plogue rules, yea.


and bome's to use F12 - cant live without it, ever.
my favorites at the moment: MASSIVE. FM8. LIVE 6. Bome's Pro. KORE.

Post Reply