OSC Command Reference

Note: The Snd and Rcv columns indicate if an OSC Controller (application) can Send or Receive OSC commands from Song Master.  For example, an OSC Controller can send an OSC Address of "/songName" to Song Master, Song Master will then respond by sending an OSC Address of "/songName", with a String parameter that contains the current song's name, back to the OSC Controller.

Snd Rcv OSC Address Parameters Description
x x /play play (Integer) 1 -> start playing; 0 -> pause
x /togglePlaying if playing then pause, if paused start playing
x x /volume volume (Double: [0...1]) adjust the master volume level
x x /speed speed (Double: [0.1,…,2.0]) change the playback speed
x x /pitch pitch_semitones (Integer: [-11…11] change the pitch of the song
x /setSpeed_100 set speed to 100%
x /setSpeed_75 set speed to 75%
x /setSpeed_50 set speed to 50%
x /setSpeed_25 set speed to 25%
x /bpm request the bpm to be sent
x /bpm bpm (Double) the current bpm
x /songName request the name of the current song
x /songName song_name (String) the name of the song
x /key request the Key of the current song
x /key key (String) The current song Key
x /timeSig request the Time Signature of the current song
x /timeSig

numerator (Integer)

denominator (Integer)

the current Time Signature
x /barBeat

bar (Integer)

beat (Integer)

bpm (double)

This message is automatically sent every time the beat changes.

The 'bpm' is the instantaneous bpm

x /songInfo request information on the current song; this information is returned as the /songInfo message below
x   /songInfo

song_name (String)
album name (String) artist_name (String)
bpm (Double)            key (String)    timeSigNumerator (int) timeSigDenoinator (int)

x /songLoaded song_name (String)
audio_filename (String)
song_duration_secs (Double)

sent when a song is loaded

Stem Mixer

Stem Mixer OSC Addresses

Snd Rcv OSC Address Parameters Description
x x /stemMixerEnable enable (Integer) 0 to disable, 1 to enable the stem mixer; if stem files have not been previously saved, they will be generated
x x /stemMixerNumTracks num_tracks (Integer) the number of tracks available in the mixer (2-6)
x x /stemTrack#Volume volume (Double: [0..1.5]) # is the stem track number (1-6) to change the volume 
x x /stemTrack#Pan pan (Double: [-1…1) # is the stem track number (1-6) to change the pan amount
x  x /stemTrack#Mute enable (Integer) # is the stem track number (1-6) to mute
x  x /stemTrack#Solo enable (Integer) # is the stem track number (1-6) to solo
x x /stemTrack#Name

get the name of a stem track; (you can't set the name)

# is the stem track number (1-6)

x x /stemTrack#Params request current state of a mixer track settings. In response, you will be sent a /stemTrackParams message (see below)
x /stemTrackParams

trackNum (Int)

trackName(String)

volume (Double: [0..1.5])

pan (Double: [-1…1)

muteEnabled (Integer)

soloEnabled (Integer)

Song Sections

Section OSC Addresses

Snd Rcv OSC Address Parameters Description
x /allSections     this requests info on all sections
x     /section section_index(Integer)
section_name(String)
start_time (Double)
end_time (Double)
color (Integer)
sent in response to /allSections
x     /allSectionsEnd numSectionsSent(Integer) sent in response to /allSections after all /section commands have been sent 
x /sectionChanged section_index (Integer)
section_name (String)
sent when the playhead enters a different section

Playlists

Playlist OSC Addresses

Snd Rcv OSC Address Parameters Description
x /playlistsGetAll return all playlists; a /playlistFilename will be sent for each playlist followed by /playlistsGetAllEnd
x     /playlistFilename filename(String) filename is the name of the playlist
x     /playlistsGetAllEnd  numPlaylistsSent (Integer)
x /playlistInfo request information on the current playlist; in response /playlistInfo will be sent
x     /playlistInfo filename (String)
name (String)
description (String)
num_songs (Integer)
total_duration (Double)
filename will be "" if no playlist loaded
x /playlistSongs request info for each song in current playlist; in response, /playlistSongInfo will be sent for each song in the playlist, followed by /playlistSongsEnd 
x     /playlistSongInfo song_index (Integer)
song_name (String)
artist_name (String)
album (String)
audio_filename (String)
x     /playlistSongsEnd num_songs_sent (Integer)
x /playlistSongInfo song_index (Integer) request information on 'index'-th song at in the current playlist; in response, a /playlistSongInfo will be sent
x /playlistLoaded sent when a playlist is loaded
x /playlistSongsModified sent when the current playlist is changed
x /playlistActiveSongChanged

song_index (Integer)
song_name (String)
artist_name (String)
album (String)
audio_filename (String)

sent when a playlist song has been loaded 
x /playlistPlayNext  begin_playing (Integer/Boolean) request to load and play the next song in the current playist
x /playlistPlayPrev   begin_playing (Integer/Boolean) request to load and play the previous song in the current playist
x /playlistPlayIndex

song_index(Integer) 

begin_playing (Integer/Boolean)

request to load and play the 'song_index'-th song in the current playist
x /playlistOpen playlist_filename (String) request to load a specific Song Master playlist 

Show Tracks and Panels

Snd Rcv OSC Address Parameters Description
x /showTimeSignatureTrack  show (Integer/Boolean)
x /showSectionTrack show (Integer/Boolean)
x /showChordTrack  show (Integer/Boolean)
x /showNoteTrack show (Integer/Boolean)
x /showExtControllerTrack show (Integer/Boolean)
x /showBottomPanel show (Integer/Boolean)
x /showSidePanel show (Integer/Boolean)
x /dockSidePanel show (Integer/Boolean)
x /showLyricTrack show (Integer/Boolean)
x /showPiano show (Integer/Boolean)
x /showWaveformView
x /showStemsView
x /showPitchView
x /showSongSheetView
x /showToolsPanel show the Tools tab 
x /showAnalyzersPanel show the Analyzers tab
x /showSongSheetOptionsDialog
x /editSongInfo

Playhead

Snd Rcv OSC Address Parameters Description
x /gotoBeginningOfTrack
x /gotoEndOfTrack
x /gotoPrevBar
x /gotoNextBar
x /gotoPrevSection
x /gotoNextSection
x /gotoPrevNote
x /gotoNextNote
x /movePlayheadToPrevBeat
x /movePlayheadToNextBeat
x /movePlayheadToPrevNudge
x /movePlayheadToNextNudge
x /playFromLastPos jump back to the last position when play started
x

/playhead

time (float in seconds) Reposition the playhead to a designated time

Looping

Snd Rcv OSC Address Parameters Description
x /loopEnable  enable (Integer/Boolean) True/1 -> enable looping; False/0 -> disable looping
x /loopSetToCurrentBar enable (Integer/Boolean) True/1 -> set looping current bar; False/0 -> disable looping
x /loopSetToCurrentSection  enable (Integer/Boolean) True/1 -> set looping to current section; False/0 -> disable looping
x /loopSetToCurrentNote  enable (Integer/Boolean) True/1 -> set looping to current  Note and next Noter; False/0 -> disable looping
x /extendLoopNextSection
x /extendLoopPrevSection
x /extendLoopPrevNote
x /extendLoopNextNote
x /extendLoopNextBar
x /extendLoopPrevBar
x /extendLoopNextBeat
x /extendLoopPrevBeat
x /extendLoopNextNudge
x /extendLoopPrevNudge
x /reduceLoopNextSection
x /reduceLoopPrevSection
x /reduceLoopPrevNote
x /reduceLoopNextNote
x /reduceLoopNextBar
x /reduceLoopPrevBar
x /reduceLoopNextBeat
x /reduceLoopPrevBeat
x /reduceLoopNextNudge
x /reduceLoopPrevNudge
x /moveLoopOneBarLeft
x /moveLoopOneBarRight
x /moveLoopLeft Amount moved depends on settings in the Loop Control's At End tab
x /moveLoopRight Amount moved depends on settings in the Loop Control's At End tab

View

Snd Rcv OSC Address Parameters Description
x /zoomIn zoom-in Time by a fixed amount
x /zoomOut zoom-out Time by a fixed amount
x /zoomReset
x /scrollLeft Scroll left 
x /scrollRight Scroll right
x /viewJumpScroll Change view scrolling to jump scroll
x /viewCenterScroll Change view scrolling to continuous scroll

Other

Snd Rcv OSC Address Parameters Description
x /metronomeEnable enable (Integer/Boolean)

True/1 -> enable 

False/0 -> disable

x

/spacebarActionToggle

x /halveBPM
x /doubleBPM
x /shiftLeftBeats
x /shiftRightBeats
x /sectionTrackTidyMarkers
x /sectionTrackDeleteAll
x /chordTrackTidyMarkers
x /chordTrackDeleteAll
x /insertNoteAtPlayhead
x /showAudioSettings
x /showAboutWindow
x /showAppSettings
x /showUserGuide
x /computeBeats
x /computeChords
x /computeKey
x /computeSections
x /countInEnable enable (Integer/Boolean) 0 to disable; 1 to enable
x /phraseTrainerEnable enable (Integer/Boolean) 0 to disable; 1 to enable
x /keyTrainerEnable enable (Integer/Boolean) 0 to disable; 1 to enable

 

Back to blog