---
layout: default
title: Controlling Ardour with OSC
---
OSC lets synthesizers
and other devices communicate with Ardour. OSC devices can send commands
relating to playback (such as play or stop), performance (such as volume,
play, stop, and almost any other function (such as Edit, or Undo).
Ardour is probably one of the most OSC-controllable audio applications
around, but as with all OSC-controllable apps, you can't do much without
knowing what messages can be sent. This document describes the
various categories of messages that Ardour understands. It is subject to
change, particularly the "Actions" part below, since this relates to the
GTK GUI for Ardour rather than the backend.
Connecting to Ardour via OSC
OSC support is not enabled by default, but can be turned on via
.
Once enabled, Ardour will listen on port 3819
by default.
This port number can be changed by editing $ARDOUR_CONFIG
and adding this line within the <Config>
section:
<Option name="osc-port" value="Your choice
here"/>
List of OSC messages
Transport Control
- /ardour/transport_stop
- /ardour/transport_play
- /ardour/set_transport_speed s
- where s is a float ranging from -8.0f to 8.0f
- /ardour/ffwd
- /ardour/rewind
- /ardour/goto_start
- /ardour/goto_end
- /ardour/add_marker
- (adds marker to the current transport position)
- /ardour/next_marker
- /ardour/prev_marker
- /ardour/locate spos roll
- where spos is the target position in samples and
roll is a bool/integer defining whether you want transport
to be kept rolling or not
- /ardour/loop_toggle
Editing-related
- /ardour/undo
- /ardour/redo
- /ardour/save_state
- (this is the regular
operation)
Recording control
- /ardour/toggle_punch_in
- /ardour/toggle_punch_out
- /ardour/rec_enable_toggle
- /ardour/toggle_all_rec_enables
- (toggles all tracks' recording state)
Track specific operations
For each of the following, rid is the remote ID or the track
- /ardour/routes/mute rid mute_st
- where mute_st is a bool/int representing the desired mute state of the track
- /ardour/routes/solo rid solo_st
- where solo_st is a bool/int representing the desired solo state of the track
- /ardour/routes/recenable rid rec_st
- where rec_st is a bool/int representing the desired rec state of the track
- /ardour/routes/gainabs rid gain_abs
- where gain_abs is a float ranging from 0 to 2 (0 being -infinite, 1 being 0dB and 2 being +6dB).
- /ardour/routes/gaindB rid gain_db
- where gain_db is a float ranging from -400 to 6 representing the desired gain of the track in dB.
Menu actions
Every single menu item in Ardour's GUI is accessible via OSC. There is
a single common syntax to trigger the action as if it was selected
with the mouse (or keyboard):
/ardour/access_action action_name
The list below shows all available values of action-name as of
mid-March 2010 for Ardour 2.X. You can get the current list at any
time by running Ardour with the -b flag.
- Common/About
- Common/goto-editor
- Common/Quit
- Common/Save
- Common/toggle-editor-mixer-on-top
- Common/ToggleBigClock
- Common/ToggleColorManager
- Common/ToggleInspector
- Common/ToggleKeyEditor
- Common/ToggleLocations
- Common/ToggleMaximalEditor
- Common/ToggleOptionsEditor
- Editor/add-location-from-playhead
- Editor/addExistingAudioFiles
- Editor/align-regions-end
- Editor/align-regions-start
- Editor/align-regions-start-relative
- Editor/align-regions-sync
- Editor/align-regions-sync-relative
- Editor/audition-at-mouse
- Editor/Autoconnect
- Editor/boost-region-gain
- Editor/brush-at-mouse
- Editor/center-edit-cursor
- Editor/center-playhead
- Editor/crop
- Editor/Crossfades
- Editor/CrossfadesFull
- Editor/CrossfadesShort
- Editor/cut-region-gain
- Editor/cycle-edit-point
- Editor/cycle-edit-point-with-marker
- Editor/cycle-snap-choice
- Editor/cycle-snap-mode
- Editor/duplicate-region
- Editor/Edit
- Editor/edit-cursor-to-next-region-sync
- Editor/edit-cursor-to-previous-region-start
- Editor/edit-cursor-to-previous-region-sync
- Editor/edit-cursor-to-range-end
- Editor/edit-cursor-to-range-start
- Editor/edit-to-playhead
- Editor/EditCursorMovementOptions
- Editor/editor-copy
- Editor/editor-cut
- Editor/editor-delete
- Editor/editor-paste
- Editor/EditSelectRangeOptions
- Editor/EditSelectRegionOptions
- Editor/export-region
- Editor/extend-range-to-end-of-region
- Editor/extend-range-to-start-of-region
- Editor/finish-add-range
- Editor/finish-range
- Editor/fit-tracks
- Editor/goto-mark-1
- Editor/goto-mark-2
- Editor/goto-mark-3
- Editor/goto-mark-4
- Editor/goto-mark-5
- Editor/goto-mark-6
- Editor/goto-mark-7
- Editor/goto-mark-8
- Editor/goto-mark-9
- Editor/goto-visual-state-1
- Editor/goto-visual-state-2
- Editor/goto-visual-state-3
- Editor/goto-visual-state-4
- Editor/goto-visual-state-5
- Editor/goto-visual-state-6
- Editor/goto-visual-state-7
- Editor/goto-visual-state-8
- Editor/goto-visual-state-9
- Editor/goto-visual-state-10
- Editor/goto-visual-state-11
- Editor/goto-visual-state-12
- Editor/insert-region
- Editor/insert-time
- Editor/invert-selection
- Editor/jump-backward-to-mark
- Editor/jump-forward-to-mark
- Editor/LayerAddHigher
- Editor/Layering
- Editor/LayerLaterHigher
- Editor/LayerMoveAddHigher
- Editor/MeterFalloff
- Editor/MeterHold
- Editor/Monitoring
- Editor/move-selected-tracks-down
- Editor/move-selected-tracks-up
- Editor/multi-duplicate-region
- Editor/mute-unmute-region
- Editor/naturalize-region
- Editor/normalize-region
- Editor/nudge-backward
- Editor/nudge-forward
- Editor/nudge-next-backward
- Editor/nudge-next-forward
- Editor/nudge-playhead-backward
- Editor/nudge-playhead-forward
- Editor/pitch-[Shift]-region
- Editor/pitch-shift-region
- Editor/play-edit-range
- Editor/play-from-edit-point-and-return
- Editor/play-selected-regions
- Editor/playhead-backward-to-grid
- Editor/playhead-forward-to-grid
- Editor/playhead-to-edit
- Editor/playhead-to-next-region-boundary
- Editor/playhead-to-next-region-boundary-noselection
- Editor/playhead-to-next-region-sync
- Editor/playhead-to-next-region-sync
- Editor/playhead-to-previous-region-boundary
- Editor/playhead-to-previous-region-boundary-noselection
- Editor/playhead-to-previous-region-sync
- Editor/playhead-to-range-end
- Editor/playhead-to-range-start
- Editor/PullupMinus1
- Editor/PullupMinus4
- Editor/PullupMinus4Minus1
- Editor/PullupMinus4Plus1
- Editor/PullupNone
- Editor/PullupPlus1
- Editor/PullupPlus4
- Editor/PullupPlus4Minus1
- Editor/PullupPlus4Plus1
- Editor/redo
- Editor/RegionEditOps
- Editor/remove-last-capture
- Editor/reverse-region
- Editor/save-visual-state-1
- Editor/save-visual-state-2
- Editor/save-visual-state-3
- Editor/save-visual-state-4
- Editor/save-visual-state-5
- Editor/save-visual-state-6
- Editor/save-visual-state-7
- Editor/save-visual-state-8
- Editor/save-visual-state-9
- Editor/save-visual-state-10
- Editor/save-visual-state-11
- Editor/save-visual-state-12
- Editor/scroll-tracks-down
- Editor/scroll-tracks-up
- Editor/select-all
- Editor/select-all-after-edit-cursor
- Editor/select-all-after-playhead
- Editor/select-all-before-edit-cursor
- Editor/select-all-before-playhead
- Editor/select-all-between-cursors
- Editor/select-all-in-loop-range
- Editor/select-all-in-punch-range
- Editor/select-all-within-cursors
- Editor/select-next-route
- Editor/select-prev-route
- Editor/select-range-between-cursors
- Editor/selected-marker-to-next-region-boundary
- Editor/selected-marker-to-previous-region-boundary
- Editor/separate
- Editor/set-edit-point
- Editor/set-fade-in-length
- Editor/set-fade-out-length
- Editor/set-loop-from-edit-range
- Editor/set-loop-from-region
- Editor/set-playhead
- Editor/set-punch-from-edit-range
- Editor/set-punch-from-region
- Editor/set-region-sync-position
- Editor/set-tempo-from-edit-range
- Editor/set-tempo-from-region
- Editor/show-editor-mixer
- Editor/Smpte24
- Editor/Smpte25
- Editor/Smpte30
- Editor/Smpte30drop
- Editor/Smpte60
- Editor/Smpte2997
- Editor/Smpte5994
- Editor/Smpte2997drop
- Editor/Smpte23976
- Editor/Smpte24976
- Editor/snap-magnetic
- Editor/snap-normal
- Editor/SnapMode
- Editor/SnapTo
- Editor/Solo
- Editor/split-region
- Editor/start-range
- Editor/step-tracks-down
- Editor/step-tracks-up
- Editor/Subframes
- Editor/Subframes100
- Editor/Subframes80
- Editor/tab-to-transient-backwards
- Editor/tab-to-transient-forwards
- Editor/temporal-zoom-in
- Editor/temporal-zoom-out
- Editor/Timecode
- Editor/toggle-auto-xfades
- Editor/toggle-edit-mode
- Editor/toggle-fade-out-active
- Editor/toggle-fade-out-active
- Editor/toggle-follow-playhead
- Editor/toggle-internal-edit
- Editor/toggle-rhythm-ferret
- Editor/toggle-xfades-active
- Editor/toggle-xfades-visible
- Editor/toggle-zoom
- Editor/ToggleGeneric MIDISurface
- Editor/ToggleGeneric MIDISurfaceFeedback
- Editor/ToggleGeneric MIDISurfaceSubMenu
- Editor/ToggleMeasureVisibility
- Editor/ToggleWaveformsWhileRecording
- Editor/ToggleWaveformVisibility
- Editor/track-record-enable-toggle
- Editor/trim-back
- Editor/trim-from-start
- Editor/trim-front
- Editor/trim-to-end
- Editor/undo
- Editor/View
- Editor/zoom-to-region
- Editor/zoom-to-region-both-axes
- Editor/zoom-to-session
- Editor/ZoomFocus
- JACK/JACK
- JACK/JACKDisconnect
- JACK/JACKReconnect
- JACK/JACKLatency32
- JACK/JACKLatency64
- JACK/JACKLatency128
- JACK/JACKLatency256
- JACK/JACKLatency512
- JACK/JACKLatency1024
- JACK/JACKLatency2048
- JACK/JACKLatency4096
- JACK/JACKLatency8192
- Main/AddTrackBus
- Main/AudioFileFormat
- Main/AudioFileFormatData
- Main/AudioFileFormatHeader
- Main/CleanupUnused
- Main/FlushWastebasket
- Main/Close
- Main/ControlSurfaces
- Main/Export
- Main/ExportRangeMarkers
- Main/ExportSelection
- Main/ExportSession
- Main/Help
- Main/KeyMouse Actions
- Main/Metering
- Main/MeteringFallOffRate
- Main/MeteringHoldTime
- Main/New
- Main/Open
- Main/Options
- Main/Recent
- Main/SaveTemplate
- Main/Session
- Main/Snapshot
- Main/TransportOptions
- Main/Windows
- MouseMode/set-mouse-mode-gain
- MouseMode/set-mouse-mode-object
- MouseMode/set-mouse-mode-range
- MouseMode/set-mouse-mode-timefx
- MouseMode/set-mouse-mode-zoom
- options/DoNotRunPluginsWhileRecording
- options/FileDataFormat24bit
- options/FileDataFormatFloat
- options/FileHeaderFormatBWF
- options/FileHeaderFormatCAF
- options/FileHeaderFormatWAVE
- options/FileHeaderFormatWAVE64
- options/GainReduceFastTransport
- options/InputAutoConnectManual
- options/InputAutoConnectPhysical
- options/LatchedRecordEnable
- options/LatchedSolo
- options/MeterFalloffFast
- options/MeterFalloffFaster
- options/MeterFalloffFastest
- options/MeterFalloffMedium
- options/MeterFalloffOff
- options/MeterFalloffSlow
- options/MeterFalloffSlowest
- options/MeterHoldLong
- options/MeterHoldMedium
- options/MeterHoldOff
- options/MeterHoldShort
- options/OutputAutoConnectManual
- options/OutputAutoConnectMaster
- options/OutputAutoConnectPhysical
- options/RegionEquivalentsOverlap
- options/SendMMC
- options/SendMTC
- options/ShowSoloMutes
- options/SoloInPlace
- options/SoloViaBus
- options/StopPluginsWithTransport
- options/StopRecordingOnXrun
- options/StopTransportAtEndOfSession
- options/UseExternalMonitoring
- options/UseHardwareMonitoring
- options/UseMMC
- options/UseSoftwareMonitoring
- options/VerifyRemoveLastCapture
- redirectmenu/activate
- redirectmenu/activate_all
- redirectmenu/clear
- redirectmenu/copy
- redirectmenu/cut
- redirectmenu/deactivate
- redirectmenu/deactivate_all
- redirectmenu/deselectall
- redirectmenu/edit
- redirectmenu/newinsert
- redirectmenu/newplugin
- redirectmenu/newsend
- redirectmenu/paste
- redirectmenu/rename
- redirectmenu/selectall
- RegionList/RegionListSort
- RegionList/RegionListSort
- RegionList/rlAudition
- RegionList/rlHide
- RegionList/rlRemove
- RegionList/rlShowAll
- RegionList/rlShowAuto
- RegionList/SortAscending
- RegionList/SortByRegionEndinFile
- RegionList/SortByRegionLength
- RegionList/SortByRegionName
- RegionList/SortByRegionPosition
- RegionList/SortByRegionStartinFile
- RegionList/SortByRegionTimestamp
- RegionList/SortBySourceFileCreationDate
- RegionList/SortBySourceFileLength
- RegionList/SortBySourceFileName
- RegionList/SortBySourceFilesystem
- RegionList/SortDescending
- ShuttleActions/SetShuttleUnitsPercentage
- ShuttleActions/SetShuttleUnitsSemitones
- Snap/snap-to-asixteenthbeat
- Snap/snap-to-bar
- Snap/snap-to-beat
- Snap/snap-to-cd-frame
- Snap/snap-to-edit-cursor
- Snap/snap-to-eighths
- Snap/snap-to-frame
- Snap/snap-to-mark
- Snap/snap-to-minutes
- Snap/snap-to-quarters
- Snap/snap-to-region-boundary
- Snap/snap-to-region-end
- Snap/snap-to-region-start
- Snap/snap-to-region-sync
- Snap/snap-to-seconds
- Snap/snap-to-smpte-frame
- Snap/snap-to-smpte-minutes
- Snap/snap-to-smpte-seconds
- Snap/snap-to-thirds
- Snap/snap-to-thirtyseconds
- Transport/focus-on-clock
- Transport/Forward
- Transport/GotoEnd
- Transport/GotoStart
- Transport/GotoZero
- Transport/Loop
- Transport/PlaySelection
- Transport/Record
- Transport/record-roll
- Transport/Rewind
- Transport/ToggleAutoInput
- Transport/ToggleAutoPlay
- Transport/ToggleAutoReturn
- Transport/ToggleClick
- Transport/TogglePunchIn
- Transport/TogglePunchOut
- Transport/ToggleRoll
- Transport/ToggleRollForgetCapture
- Transport/ToggleRollMaybe
- Transport/ToggleTimeMaster
- Transport/ToggleVideoSync
- Transport/TransitionToReverse
- Transport/TransitionToRoll
- Zoom/zoom-focus-center
- Zoom/zoom-focus-edit
- Zoom/zoom-focus-left
- Zoom/zoom-focus-playhead
- Zoom/zoom-focus-right