Jump to content

How can I alternate recording and listening for a region?

Michael Ellis

Recommended Posts

A few months ago, before purchasing Logic, I wrote a python script to control SooperLooper to alternate between recording and playback. This turned out to be massively useful for rehearsing difficult vocal and instrumental passages. I'd like to know if it's possible to do the same thing in Logic 9.x


Specifically, I'd like to be able to do the following:


  • 1. Select a region in a midi or audio track.
    2. Tell Logic how many record/listen cycles (NCYCLES) to execute.
    3. Begin the cycling. Everything should be hands-free from here on
    for NCYCLES:

    • record


I got the idea for this from a fiddle teacher who would get a rhythm going, play a couple of bars and have me play it back immediately always staying in rhythm. My automated version, like any solitary pleasure, is not quite as satisfactory as doing it with a partner, but it turned out to be a very efficient use of practice time. I know that Logic has Autopunch and Cycling, but it doesn't seem to support alternating between recording and listening while staying in rhythm.


If what I want is possible in Logic, I'd love to know how to go about it. It would also be nice to be able choose between automatically saving the practice takes vs discarding them. I'm happy to write some code if need be and share it with the group here.




Link to comment
Share on other sites

I'm not 100% sure what you're after here. Do you want the count-in with every pass? Count in will only happen once before recording begins, unless you add it to your cycle area, then you'll get a count-in section as part of each recording pass. If you do it that way then you won't need a count-in with the metronome. Control-click the record button and go into Record Settings to set the number of count-in bars to "none".


Another thing to realize is how Logic handles audio recordings in Cycle mode. Basically, only one file is created although it may look like several different takes in the take folder. IOW, each of those takes is joined to the next one in the queue.


While you're recording, you can jump in and out of record mode if you have Punch on the Fly engaged so you'll be able to hear your most recent pass when you exit record mode. There may be a slight hiccup when you exit recording.

Link to comment
Share on other sites

Thanks, Camillo. Sorry if I wasn't clear in my post. What I want has more to do with using Logic as a rehearsal tool than as a traditional recording tool. I'm not after a count-in on each take -- quite the opposite, I want to have an initial count in followed by an alternating series of record/playback cycles so that rhythm is unbroken across the series. Perhaps a specific example will make it clearer:


Suppose I have a difficult 4-bar phrase I'd like to play with greater facility. My personal experience, (and I think many musicians would agree) is that simply playing a passage over and over again can actually tend to set mistakes in stone. Listening critically between takes is really useful but having to mess about with the mouse to stop and start is a distraction. It breaks the rhythm and my focus on the task at hand. What seems to be fairly efficient is having the playback begin immediately after recording the phrase and having the recording start again immediately at the end of each playback. So, let's suppose I want to practice a phrase 5 times. What I'd like to do is tell Logic to count-in once and then take 5 passes of alternating record/listen over the 4 bar phrase with no human intervention required.




1. Record

1. Listen

2. Record

2. Listen

3. Record

3. Listen

4. Record

4. Listen

5. Record

5. Listen



I've been able to achieve this behavior with SooperLooper by means of a python script that sends OSC commands to alternately start and stop recording and playback, but SooperLooper depends on the JACK environment and it's a bit clumsy to set up and not nearly as powerful as Logic. On the other hand, my internet searches so far haven't turned up much indication of a programming interface to Logic.


So I think the underlying question may be whether it's feasible to write a program or script that can control transport and record/play in Logic based on some "reached end of region" event.


Or am I simply misunderstanding how Cycle + AutoPunch works?


EDIT: After some more playing with Cycle + Autopunch it looks like the default behavior is probably usable. If I make both regions the same length, I can start by hitting R to get a count-in and one take. At the end of the region, the record light goes off and the playback will cycle indefinitely through the take. Hitting SPACE stops it and pressing R again will start a new count-in and record cycle, ... It's only 2 keystrokes. I can live with that for vocals; for fiddle I'll just need to make the count-in or cycle region longer to give me time to get the instrument and bow back into playing position. A little inconvenient but Logic's other capabilities seem worth the tradeoff.





Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...