Tutorial: Real-time Tempo Automation in Logic's Environment

Learning how to automate levels, pan and virtually any plug-in control in Logic opens a whole world of possibilities when mixing your music. Not only can you draw automation offline but you can also r  

Learning how to automate levels, pan and virtually any plug-in control in Logic opens a whole world of possibilities when mixing your music. Not only can you draw automation offline but you can also record automation in real-time in too. Without doubt this can be one of the more fun aspects of Mixing! Thanks to Global Tracks in Logic, it's possible to create tempo changes offline. And, if you're looking to create tempo changes in real-time and record the tempo movements to your Tempo Global Tracks? This would be great for creating a quick Tempo Map or playing live. At first glance it seems like it can't be done. But never say never when it comes to Logic's Environment...

Step 1 - Getting started

Open an existing Logic project or create a new one. Create as many tracks as you need plus an extra one. It doesn't matter what type of track as we'll reassign it later.

In this case I've created two audio tracks.

Step 2 - Go Environmental

Open a New Environment window from Window > Environment (Command+8).
Navigate to the Clicks & Ports layer.

Step 3 - Fader Time

In Logic's Environment you can set the Input and Output for faders to a plethora of different MIDI messages. There, are some 'preset' faders already set up to control certain functions. You can find a fader to control Tempo here in the Environment's local menu:

New > Fader > Specials > Tempo Control

You'll get an alert message which warns you that to use the Tempo Fader to record it's values to Logic's Tempo control it must be cabled directly into the Sequencer Input object. Click OK to continue.

Your Tempo fader should look something like this.

Step 4 - Size is Everything

You can resize any Environment object by selecting it and dragging on the white square in the lower right corner. The larger the Fader the more accurate you can be when creating tempo changes.

Also, let's make this Environment window in to a Floating window so it always appears on top. Choose: View > Frameless Floating Window

Step 5 - Controlling Tempo

Before we cable the new Fader to any other object, try moving the level and look at your Transport Display. You'll notice that we are controlling Logic's tempo!

However, if you begin playback move the Transport Fader, press Stop and resume playback again, you'll notice that Logic's Tempo reverts back to the initial value.

Step 6 - Global Tracks

Before we continue and make the connection to allow us to record these Tempo Fader movements into Logic, let's take a look at how to visualize the 'tempo map' in Logic.

First up is the Tempo Global Track. Click on the Global Tracks disclosure triangle (or press "G" on your keyboard) to expand the Global Tracks area. Resize the Tempo Global Track as desired.

Step 7 - Tempo List

Open the Lists Area and click on the Tempo tab. Both the Tempo Global Track and Tempo List provide alternative ways of viewing (and creating) the tempo map(s) for your project.

Step 8 - Cable it

Now in order to record the Tempo Fader's BPM value onto the Tempo Global Track we need to cable the output of our Tempo Fader (in the Environment) into the Sequencer Input.  The Sequencer Input basically represents Logic's Sequencer.

We don't have to cable it directly as long as the signal from our Tempo Fader reaches the Sequencer Input... So, for example, you could drag from the triangle in the top right of the Fader and connect the resulting cable to the "Input View" or "Input Notes" object as they are cabled to the "Sequencer Input" anyway.

Having said that, I've the cabled the output from my Tempo Fader directly into the Sequencer Input as shown in the image below:

Step 9 - New Tempo track

This isn't a necessary step, but it's one I prefer to do to keep things organized. We're going to assign our Tempo Fader to an existing track in the Arrange area. There are 3 easy ways to do this, but my preferred method is drag-n-drop.

Position the Environment window so that you can see the Arrange area's Track Headers. If you haven't already done so, now is a good time to create an extra track (any type will do). Now simply drag the Tempo Fader in the Environment window on to a Track Header in the Arrange area to reassign it.

Step 10 - Real-time Tempo Automation

The last step is to place the Play Head where you wish to begin automating the tempo, hit the Record button and begin moving your Tempo Fader as desired.

You will not see any tempo info being written to the Tempo Global Track or Tempo List whilst  recording, but when you stop recording, the tempo information will have been added and Logic will respond to this info upon playback!

You can now edit this tempo information in either the Tempo List or Tempo Global Track as desired.

Want to learn more Logic and Logic Environment tips and tricks? You'll love this tutorial then!

Rounik is the Executive Editor for Ask.Audio & the macProVideo Hub. As an Apple Certified Trainer for Logic (and a self-confessed Mac fanatic) he's taught teachers, professional musicians and hobbyists how to get the best out of Apple's creative software. He has been a visiting lecturer at Bath Spa University's Teacher training pro... Read More


Inspiring & as always, thoughtfully paced and therefore fully appreciated. Thanks
Thanks logicluvva!

Glad this tutorial has been helpful :)
I know this post is pretty old, but I just found it and found it really helpful! A followup question though: Do you know if there's a way to assign this fader to a physical fader on a midi controller? I've not been able to sort it out.
Hi Jason,

Sure! What you'll need to do (from memory because I'm not in front of Logic right now) is
1. in the Environment window go to the Clicks & Port layer...
2. Move the physical fader and look at the messages coming through the "Input View". This view will show you the MIDI Control channel | parameter | value... remember the channel and parameter values.
3. go to the Real-time tempo fader in the environment that you've created and select it.
4. In the Inspector on the left change its INPUT channel, "-1-" (parameter) and value range to match the physical values.

That should work :-)

Hey Rounik,

thank you so much for this really easily understandable and functioning tutorial!

I have a question, that is somehow connected to that topic but goes a little bit deeper:

- I am Working with audio material! Is there a way to change the Tempo in realtime without having a quality loss?

Thank you so much for you help!

Cheers, Samuel
Hey Samu,

Glad you found the article helpful :)

There will always be some kind of quality loss when changing tempo with audio, especially in real-time.

Can you describe what it is you're doing in more detail? Perhaps there's another way to approach this. Also, are you using Logic Pro only, or could you use Ableton Live or other software too?

Best, Rounik
Hey Rounik, thanks for replying! Seriously, I couldn't find an article like that in any other forum or site!

Funny your suggesting Ableton live cause that's what my professor suggested to me too...
I was also thinking about using MaxForLife or even MaxMsp since they're communicating so well with Ableton live, are you familiar with that?
I'm still at the beginning of the project but it feels like it's gonna get big... It's about Music and running!

I will have a constant stream of two open bluetooth signals from a stride sensor and a hear rate sensor coming into MaxMsp (in case I don't come up with something better), calculate a certain value from these and determine the tempo of either a audio material session or a midi session, not sure yet!

In case of Midi: depending on the current tempo in the session certain instrument tracks, effects etc. should be activated

In case of Audio: Depending on the tempo certain songs (that were loaded into an player and analyzed in advance) should be faded in and played without leaving a break between the different songs so a constant running music is played back!

Could I express my idea understandably?

Thank you so much for your help and interest, Samuel
Hey Samu,

Thanks. This sounds like a really interesting project. I think Ableton might be better suited.. but you can try this in Logic. What I'd suggest doing one of the following. Either:
1. make sure all your audio regions are tempo-enabled apple loops or
2. Create sampler instruments from each audio region and play those back. Now this would work better if the audio is rhythmic rather than melodic, but it'd be an interesting experiment to try!

Oh wait... will the audio be recorded in real-time too? will that be from one of the bluetooth signals?

Let us know how you get on :)
Hey Rounik, I was messing around with apple loops but thats not the way I'm gonna work, it's not flexible enough...

I'm afraid I have to use Ableton (which I never used before) because of the really well functioning "warping algorythm"...

Are you exclusively working with Logic?
Hello Rounik,

it's Samuel again. My project changed a lot and I'm back in Logic. I figured how to use a external hardware device (with knobs etc.) but I have a new problem:

I want to send a midi signal form another program (max/msp) to Logic to control the tempo of a midi file.

I can see the the values in the input view but can't route them to the tempo fader :(

Could you explain me how to do that?

Thank in advance!!! Samuel

Want to join the discussion?

Create an account or login to get started!