Remote control with OSC clients

Open Sound Control (OSC) is a protocol for networking sound synthesizers, computers, and other multimedia devices for purposes such as musical performance or show control. OSC’s advantages include interoperability, accuracy, flexibility and enhanced organization and documentation.

The OSC remote control is done by the separate program called Luci Studio Manager.exe which is distributed with Luci Studio. You can find it in Start menu “Luci Studio Manager” or, when you purchased LUCI Studio installed on USB, in your USB drive’s  folder.

To use the OSC feature you must purchase the Ember+ plugin for your LUCI Studio license at our Shop.

Configure Luci Studio Manager for OSC
  1. Start and setup the LUCI Studio Manager to control your LUCI STUDIO instances as described in the LUCI Studio Manager manual.
  2. Use the “OSC configuration” Wizard of  the LUCI Studio Manager to define the OSC receiving port and optional Target IP and ports, as described in the LUCI Studio Manager manual.
OSC parameter descriptions

OSC commands are send to the LUCI STUDIO Manager to it’s OSC receiving port and changed values are send to the OSC Targets. OSC sends them with a defines path that has the following structure:

/ls/x/category/parameter

Where

  • /ls = All OSC paths starts with an identifier. For LUCI STUDIO this is always “/ls”
  • /x = x is the LSI number of the LUCI STUDIO Instance, found in the “Clients” section of the LUCI Studio Manager window at the “O(LSI number)”.
  • /category = This is a subsection like the Ember+ parameters have. The LUCI STUDIO has:
    • identity
    • Commands
    • ConnectionInfo
    • SIPandSTUNInfo
    • AudioIO
    • Recording
  • /parameter = This is the parameter name. Each category has its own parameters

The values are either integers or strings , the complete list:

 

  • /ls/x/identity/product : Luci Studio
  • /ls/x/identity/company : Technica Del Arte
  • /ls/x/identity/serial : not used
  • /ls/x/identity/version : current version nr of Luci Studio
  • /ls/x/identity/features : not used
  • /ls/x/identity/name *: the name of the instance
  • /ls/x/identity/group *: instance group number ( color 0..12 )

 

 

  • /ls/x/Commands/Disconnect : hang-up current call ( or Reject incoming )
  • /ls/x/Commands/Accept : Accept incoming call
  • /ls/x/Commands/Register : SIP registration or RTP go live
  • /ls/x/Commands/Connect : Connect to a destination. Connection parameters are transferred in the Argument as a UTF8 string encoded as json. Example:
    "D":"0031433219499@iptel.org","S":"48000","A":"MP2","B":"64000","M":"M"
    D: Destination
    P: Protocol, possible values: “sip”,”rtp”,”sc-rtp”,”mc-src”,”mc-rcv”
    S: Samplerate
    A: Algorithm/Codec , possible values:”MP2″,”AAC-LC”,”AAC-LD”,”AAC-ELD”,”AAC-HE”,”AAC-HEv2″,”G711-A”,”G711-u”,”G722″,”L16″,”L24″,”ULCC”,”ULCC-24″,”Opus Low delay”,”Opus Voice”,”Opus Audio”
    B: Bitrate
    M:Mode, “M”=mono, “S”=stereo
  • /ls/x/Commands/WarningAcknowledge : Acknowledge the warning with true(1) or false(0) ( see Connection Info: )
  • /ls/x/Commands/Record : set recording on( value 1) or off ( 0 ) ( see Recording Info )

 

 

  • /ls/x/ConnectionInfo/Status :
    • “Not Ready”: LUCI Studio instance not started
    • “Stand By”: LUCI Studio instance started
    • “Incoming Call Waiting”: Waiting for incoming connection (Only the Antenna is active).
    • “Calling”: Calling a destination, or incoming call.
    • “Synchronized”: Incoming stream is decoded Ok.
    • “UDP Warning”: No valid input stream data
    • “UDP Error”: Above warning has timed out, signalling a connection loss
  • /ls/x/ConnectionInfo/Destination : Server,Callee or Caller.
  • /ls/x/ConnectionInfo/Incomingformat : A UTF8 string formatted as json, compatible with “Connect” command.
  • /ls/x/ConnectionInfo/Outgoingformat : A UTF8 string formatted as json, compatible with “Connect” command.
  • /ls/x/ConnectionInfo/Station : The currently chosen station profile name.
  • /ls/x/ConnectionInfo/Jitterbuffer *: current jitter buffer, in ms, to use.
  • /ls/x/ConnectionInfo/Dynamicjitterbuffer *: current dynamic jitter buffer to use, in ms.
  • /ls/x/ConnectionInfo/Livejitterbuffer : jitter buffer that the streaming engine currently uses. Dependent on Jitter buffer and Dynamic jitter buffer. If the dynamic jitter buffer is 0, then this is always constant and the same as the Jitter buffer.
  • /ls/x/ConnectionInfo/LiveVUvalues : An Octet array of the following values: Maximum Delta of Peak Input VU value, The Peak Input VU value, Maximum Delta of Peak Output VU value, The Peak Output VU value, the Peak Input Jitter value, Peak Output Jitter value. Values are scales from 0..79 , overload = 80, and are all peak values of the last 180 msec. Delta values are useful as a audio signalling indicator.
  • /ls/x/ConnectionInfo/WarningMessage : Information that has to be acknowledged, like error message dialogs. The string is a list of “::” separated items: “title text::message text::Acknowledge button text::Cancel button text”. After receiving, the message can be acknowledged by the “WarningAcknowledge” command.
  • /ls/x/ConnectionInfo/ConnectionTime : The time durance that the connection is valid. The value string is hours:minutes:seconds.

 

SIP and STUN info

 

  • /ls/x/SIPandSTUNInfo/SIPStatus :
    • “Offline”: at non SIP protocols
    • “Registering”: trying to REGISTER
    • “Calling”: trying to Call
    • “Incoming call”: signalling an incoming call
    • “Call in progress”: connection current
    • “Registered”: Registered to SIP server
  • /ls/x/SIPandSTUNInfo/SIPURI : own URI of LUCI Studio instance
  • /ls/x/SIPandSTUNInfo/STUNStatus : Not used
  • /ls/x/SIPandSTUNInfo/ExternalIP : Not used

 

Audio IO

 

  • /ls/x/AudioIO/Input : the input channels used.
  • /ls/x/AudioIO/Output : the output channels used.
  • /ls/x/AudioIO/Driver : using Asio-driver name , Wasapi or standard Windows driver.

 

Recording

 

  • /ls/x/Recording/State : Info about recording state ( “Stop”,”Pause”,”Recording” ).
  • /ls/x/Recording/Filename : the filename string of the recording
  • /ls/x/Recording/Time : the Recording time string in minutes:seconds.

 

Note *: These can be changed by an OSC remote control, also during streaming. The rest are send only.