Punch and Roll for TwistedWave

Download the TwistedWave – Punch and Roll script here.

Two months ago, I put together a Punch and Roll script for Audacity. It was a bit clunky, but it worked. I’ve since modified it, and broken it out into separate parts (move audio, run pre-roll, etc), and I have found it much more useful.

Recently, I have started experimenting with TwistedWave, an audio editor for OSX, iOS, and the Web. Many well respected people in voiceover seem to love it (including George Whittam and Paul Strikwerda).

But,  one feature that some people say that it lacks, is Punch and Roll editing. So, I decided to port my script to TwistedWave.

Once you download the file, and unzip it, open the TW-PunchRoll folder. When you open the folder, you will see 5 files.

Inside the TW-PunchRoll folder

Please read the READ ME file before doing anything else. The READ ME file will walk you though using the Application (pictured above on the lower right), and through tweaking the script (pictured above on the lower left).

If you would like to add a Keyboard Shortcut to this script, please read my article: Add a Keyboard Shortcut to Punch and Roll for TwistedWave

If you have any questions, or suggestions, please post them in the comments section below.

A Cup of Coffee

A ridiculous amount of caffeine was consumed while researching all of this stuff.
Add some fuel if you would like to help keep me going!


31 Replies to “Punch and Roll for TwistedWave”

  1. Amazing! Thankyou Steven, easily installed, fine-tuned, and working. All we need now is audible scrolling to quickly locate the wanted punch in point! Maybe the TW smartphone remote app will do that? I can’t try as I don’t own a suitable phone.

  2. Okay. I will live with it a while and see. Something I posted once drew some agreement from colleagues: ability to colour code sections of a track to fast-identify them for later treatment, like highlighting copy.
    But I’m thinking scripts might get removed by TW updates, particularly if Tom T turns out not to like them!

    1. The script is simply automating all of the manual steps to achieve the result. So, the only way an update would break the script is if the author of the application removed the feature completely.

  3. Cool, it works! I tried doing it a different way using a macro but your method is better as it doesn’t require the zoom level to be unchanged between edits. By “audible scrolling” you mean scrubbing, Howard? TW already does that, click and drag on the time scale above the waveform.

    1. Thanks for the feedback George. Is there anything that you would add to the script? I am going to post something about how to save the script as a Service (so people can assign a keyboard shortcut to it). Asside from that, I can’t come up with any other changes.

      1. Steven, George – yes, thanks, I should have said scrubbing. That bar scrubs audibly, but is relatively tricky to pinpoint with a mouse while in full flight at the mic and not that close to the screen. What would be luurvly would be left-right command from keyboard. It could have a preset amount of go back, or just freestyle, guided by ear. What do we want? We want a ‘kluge’ !

  4. I know that I’m missing something, but when I invoke the script the selection point (yellow line) jumps back to the start of the file, then when the recording starts it records, to the end of the file. Am I doing something wrong or do I not understand punch and roll.

    Of course I’d like to go back a few seconds, have the audio play where I placed the cursor, and then record at the end of the file.

    Is it something in the TW settings?

  5. Hi Steven, Thanks for putting this together. I am not sure this is working for me as I expect. I am running the latest version of Mavericks (OS X 10.9.2) and TW ( on a Macbook Air. Following the ReadMe:
    1. Open TwistedWave
    2. Record about 30 seconds of audio
    3. Place the cursor somewhere within the file (more than 3 seconds in)
    4. Run the GREEN Application
    I recorded for 45 seconds and placed the cursor at around 30 seconds. I then use the Finder to run the Green application by double clicking on it. Is that the right way to start it? The recorded audio is properly truncated from the cursor position to the end, however the playback starts at the beginning of the recording and plays for 3 seconds before skipping to the end before starting to record again. I had expected the last 3 seconds of the audio to play prior to recording again (not the first three seconds).


    1. I think I isolated the problem, but I don’t understand why I would have this and no on else. The code that loops on the left arrow 30 times is the culprit I think. Each time I use the arrow key manually, the cursor moves 0.5 seconds so 30 times would put it at the beginning of this short recording.


      1. The duration of each arrow key event depends on the zoom level of the audio. I made sure I was totally zoomed out and now each arrow key moves one second. I updated the script and works as I expect. Apologizes for all the noise but this might be useful for someone else.


          1. I already had it set to show 30 seconds or longer, so this solution didn’t solve the problem.
            I’ll try the other one when I can.

  6. I think I have found a work around. It looks like my TW preference was set to show the entire waveform while recording. This meant the time scale changed as the duration of the recording grew making the keystroke approach subject to this time scale change. I changed the TW Preferences … Editing … Recording… to be Waveform show at least: 30 seconds (from ‘show all’). Now the script appears to work as expected for longer duration recordings.


    1. Good catch Mike! Wish I had pointed this out in the original post. I have a feeling that this is the root of most of the issues that people have been having.

  7. Hi Steve,

    I think this is great! Unfortunately, I can’t seem to get it working properly. Like Mike posted on 3/30, TW is playing the first 3 seconds of audio and then jumping to wherever I placed the marker prior to running the green program. I checked my settings TW preferences and it is already set to ’30 seconds’ as opposed to ‘show all’. I don’t think I missed any of the steps…?I am not really sure what to try so that it will work properly, but if you have any thoughts I’d love to hear them.



    1. Hi Jennifer, I decided to sit down and see why it worked for some people and not for others. It appears to have to do with the zoom level.

      When I edit, I tend to zoom until I see the ruler labelled for 1/2 seconds (11.5s, 12 s, 12.5s, etc). If you do that, you will notice that when you use the arrow keys, it takes 10 clicks of a left arrow to go from 12s to 11s. And, you may notice in my script that I fell it to repeat keystroke ASCII28 (also known as Left Arrow) 30 times.

      This is the issue. Some people are working so zoomed out that hitting that Left Arrow 30 times takes them all the way back to the beginning of the file.

      Try hitting CMD + Down Arrow until you see labelled 1/2 seconds in your ruler. Then, run the script again.

  8. My apologies for not responding sooner. I had the chance to try it out today and it worked perfectly:) Very excited to try it out in the booth. Thank you so much Steven!!

  9. Hey Steven. Thanks for creating this. I’ve downloaded it, and set up the short cut, but can’t seem to work out the logistics of using it…(technophobe..) It gives me a few seconds of play back then jumps to the start of the script. Also, it starts to record, but not over the top of existing audio, it just pushes everything else along. Any suggestions. I’m delving into the audiobook world and it’s a very useful function to have for this!

    1. Hi Nicola. If you scroll up in the comments, you will see where I helped Jennifer Reilly with a similar issue. Have you tried those steps yet?

  10. Steven, let me start off by commending you for freely sharing this. Very admirable.

    I’m brand-spanking new to this so I’m still learning how to navigate my way around recording software. The problem I’m having is that everything beyond the cursor is deleted. I’ve been using a 3-minute long recording and setting my cursor to punch in at about the 40 second mark, only needing about 5 seconds of re-record. I have the zoom in to where I can see half-second increments. I click on the Green application and it begins pre-rolling from about 37 seconds. But from that moment on everything beyond where the cursor is scrolling is gone, even after I’ve hit Stop, and I have to undelete what I just did to get it back.

    1. Hi Roy. I think you are misunderstanding what Punch and Roll is all about. It is not meant for coming back to a finished session and replacing mistakes. It is about fixing mistakes DURING your initial record. So, when you make that flub, you stop, you move the playhead back before the flub, and you fix it right away. That is why the script deletes everything after the insertion point. In Punch and Roll, everything after that point is supposed to be junk.

      1. Thanks Steven. Appreciate the reply. Maybe what I’ve been doing goes by another name. I’ve been using Studio One which allows me to punch in anywhere on a given track, with or without a preroll, and still retain what follows after I’ve stopped the punch-in recording. Anyhoo, thank you for the clarification.

        1. Yep, you are still punching in. In Reaper, that process is called auto-punch. The closest that you will get in TwistedWave would be to select the piece that you want to replace, hit delete, then hit record. It will insert your new recording at the proper point in the file.

  11. Thanks for creating this app! Maybe this is a stupid question, but I feel like the read me is missing an important piece of information: How to actually use the script (for those of us who are a danger to themselves w/ tech) while in session. The read me is great for installing and troubleshooting, but it doesn’t actually instruct on usage. Does it need to be launched every time I record a new track? What should I do to actually “punch and roll” while I’m recording? I tried installing the app and shortcut per your instructions but now I’m at a loss.

    1. Hello Ratana. If you have installed the shortcut then you place the cursor at the point in the track where you would like to start your re-record and invoke the shortcut. The shortcut starts the script. That’s it! 🙂

Leave a Reply