TouchOSC and Ardour

TouchOSC Layout Page 1

After too long a delay I finally finished my first version of a TouchOSC based transport for Ardour. One of the most difficult aspects of this project was the sheer number of Ardour’s functions that can be controlled via OSC. Deciding what to incorporate into the layout and what to leave out took hours of consideration and experimentation. I tried to keep everything as streamlined as possible only using using functions in my layout that I thought would be of the most use.

As I discussed in my previous post, you will need to run Max5 patch in the background to allow better communication between TouchOSC and Ardour. Please go ahead and download the .zip file which contains the TouchOSC layout, .maxpat file, and a .mxf file as well.  Even if you don’t own Max/Msp/Jitter, the patch should work fine using the Max/Msp runtime version, which is free to download.

First, run the Max5 patch and you’ll see a very boring screen that looks like this:

main patch window

Like the window says, there isn’t much to do other than to just run it in the background and have fun, but there are a few things to be aware of. Make sure TouchOSC is using the correct ports. You can change them in the patch window or on your iPhone/iPod Touch. If you are using your home’s wifi internet connection you probably won’t have to change the Ardour IP adress or the iPhone IP address, but if you setup a direct network between your computer and iPhone then you will have to change these addresses in the patch window.

The labels on the TouchOSC layout should be fairly self-explanatory, but I’ll show a picture here of each page and briefly describe what everything does.

Page 1 (displayed above)

PlayToggles the play button

LoopToggles the Loop button for playback and recording

RecToggles the transport Record button (In order to actually record to a track, that track must also be record enabled)

Red FaderThis will control level of whatever track is listed first in the editor view

Add markThis will add a mark at the location off the playhead

Prev. Mark & Next MarkMoves the playhead to the previous or next mark

StopStops playback and recording

Start & EndMoves the playhead to the Start or End marker

RWRewinds Track

FFFast Forwards Track

Red DialScrubbing

Save, Undo, & RedoSaves file, undoes the last action, redoes the last undo

Page 2

TouchOSC layout page 2

Punch In Toggles the ability to use a Punch In marker while recording

Punch OutToggles the ability to use a punch Punch Out marker while recording

NudgeThese two buttons will nudge the playhead back or forward by the amount of time selected in the Snap Mode section of the transport. I believe the default amount of time is 5 seconds

Snap Modes Scroll through the options: Grid, No Grid, or Magnetic

Snap ChoiceScroll through the various grid subdivision options: CD Frames, SMPTE frames, SMPTE seconds, SMPTE mintues, seconds, mintues, Beats/32, Beats/16, Beats/8, Beats/4, Beats/3, Beats, Bars, Marks, Region Starts, Region Ends, Region Syncs, Region Bounds

Edit PointScrolls through the options: playhead, marker, mouse

Toggle Visual State — You can use this multitoggle to save up to 12 unique grid views. With one of the toggles in the “on” position press the Save State button and the current visual state will be saved on that toggle button. You can then switch between saved visual states easily in your project.

Global RecordThis button record enables all of the tracks. It would be nice if pressing it again would disable all of them as well, but unfortunately that not how this OSC command works with Ardour. What you see is what you get with this one.

Page 3

TouchOSC layout Page 3

This page allows you to control the zooming parameters of your project. The purple focus buttons modify what Ardour will in zoom on. For example, pressing the mouse button, then repeatedly pressing the green In button would zoom closer in on the location of the mouse cursor.

InZooms In

Out Zooms Out

SessionSets the zoom so that the entire session can be viewed in the editor window

RegionSets the zoom so that the selected region can be viewed in the editor window

RegionXY — *Use with caution* Sets the zoom so that the selected region fills the entirety of the editor window. The dangerous part is that I haven’t found and effective method of getting the screen back to normal. Pressing the Session or Region buttons won’t do the trick, but if you have saved a visual state you can get back by using the appropriate multitoggle button.

*I recommend using the 1st visual state to save the session view. This way you can use the RegionXY function and still get back to normal.*

Toggle – Toggles between the current and previous visual state

Center – Centers the playhead in the editor window

Playhead – Sets the Zoom Focus to the location of the playhead

Mouse – Sets the Zoom Focus to the location of the mouse cursor

Edit – Sets the Zoom Focus to the edit location

Page 4

TouchOSC Layout page 4

Set Loop Edit Range – Sets the loop points to the area selected in the editor window

Set Loop Region – Sets the loop points to the region selected in the editor window

Set Punch Edit Range – Sets the Punch In/Punch Out markers to the area selected in the editor window

Set Punch Region – Sets the Punch In/Punch Out markers to the region selected in the editor window

Two Green Play Buttons – These buttons are a little confusing, and sometimes a little unreliable, but I still found them very useful. The top button will play from the mouse cursor position to the end marker, and then, move the playhead back to a selected edit point. The bottom button will play from the mouse cursor position to a selected edit point, or, from the selected edit point to the mouse cursor position. Understand? Just try it out while your editing some files. I found that it helped me out quite a bit.

Split – Splits a region file at the edit location

Crop – Crops a region to the selected area in the editor window

Raise – Raises the region above any other regions that may be overlapping on the same track

Lower – Lowers the region beneath any other regions that may be on the same track

Export – Opens the options menu for exporting the selected region

Naturalize – Moves the Region back to its original position

Normalize – Increases the amplitude of the region to its highest level before distortion occurs

Reverse – Reverses the region’s audio file

That’s about it everything. I did my best to create this layout with only the most useful commands, grouped together by page depending on what functions I though might be used together the most.

After using this layout last night for a few hours I felt good about my creation, but I do believe that I would like to make some adjustments and upgrades along the way. If there is anything that you feel is particularly good, or awkward about this TouchOSC layout, let me know and I’ll take everything into consideration for the next version I get around to making.

Until then, I hope that everyone enjoys using Ardour and TouchOSC together while editing and recording music!

Be Sociable, Share!

Tags: , , , , , , , , , , , , , , ,

5 Comments

  1. João Pais said on February 11th, 2010

    Looks good. Unfortunately I don’t have an iphone (would prefer a nexus).
    I also made something for pd in these days, the 1st version can be found at http://lists.puredata.info/pipermail/pd-list/2010-02/075887.html

  2. maxbreakwell said on February 11th, 2010

    Cool Pd Patch, João.

    Actually, I believe there is an Android version of TouchOSC in the works, so that might be something for you to look forward to as well.

  3. Allan K said on May 11th, 2010

    Awesome.. also looking forward to an Android version

Leave a Reply

Trackbacks

  1. Create Digital Music » Want a DAW that Supports OSC? In a World of Doesn’t, Ardour Does – Free
  2. ardour en de iPhone - homerecording.be forum