FaceTrackNoIR
FaceTracking with just your webcam or smartphone!
Donate
OSC Logo Forward

OSC (Open Sound Control): network protocol to communicate with external Tracker(s) or programs.

 

Turn your iPhone, iPad or other OSC-capable device into a headtracker for FaceTrackNoIR!

Info:

The OSC-tracker plugin has been around for a while now and may well prove to be the most promising tracker so far. The OpenSoundProtocol is basically an open network protocol and it can be used with UDP, Bluetooth etc. For now, the OSC-tracker uses UDP.

 

The latest novelty in the headtracking business is called FacePoseApp. It features face-tracking on your smart-phone or iPad and uses OSC to communicate with any OSC-server. FacePoseApp was created by the FaceTrackNoIR Team in corporation with Visage Technologies and was designed to work with the OSC-tracker of FaceTrackNoIR.

 

Testing the OSC protocol:

 

To test the OSC tracker combined with your iPhone or iPad you can download FacePoseApp for free. For more information, see the FacePoseApp website.  You can also use the free App called LittleOSC

 

If you have questions regarding the OSC-tracker plugin, please post them here: [discussion:osc]

Advantages:

  • Reduce CPU-load for your gaming PC;
  • Possible to use any external tracker, which offers OSC communication;
  • Very simple setup.
  • Supports 6 DOF, if the OSC-client does.

Downloads:

The current version of the OSC-Tracker can be downloaded here.

 

FacePoseApp and LittleOSC can be downloaded from the App Store.

Settings:

OSC Tracker settings

Tracker: FaceTrackNoIR supports two trackers to run simultaneously. So you can run two instances of OSC tracker, or use another tracker to supply the axes the OSC tracker does not. With this option you select Primary or Secondary. The settings for Primary and Secondary are stored separately.

 

Receiving Port-number: this is the number of the UDP-port, to which the external source writes and from which FaceTrackNoIR reads. By default this is port 5550.

 

Enable and Configure Axis

The OSC Tracker currently reads up to 6 values from the remote OSC device and shows their (raw) values. FYI: GyrOSC and most other gyro-based trackers only supply 3 values!)

 For each of these values, the following settings can be configured:

  • FaceTrackNoIR axis: This listbox gives you the option to assign the value to an in-game axis. Selecting "None" leaves the value "untouched", so it can be used by the secondary tracker.
  • Minimum input value:  The Minimum value sent by FacePoseApp. You can tweak this setting, though the displayed values are quite sensible.
  • Maximum input value:  The Maximum value sent by FacePoseApp. Please note that it is best practice to 'balance' the min. and max. settings around 0. The values are scaled to -50/+50, so the full range of the curves can be used.
  • FaceTrackNoIR input:  The value actually sent to FaceTrackNoIR.
  • Invert Value: You can check this box, to invert the axis.

Communication

The OSC Tracker reads OSC messages and only gets 3 parameters when the address pattern is "gyrosc/gyro" or "gyrosc/xyz".

When no messages or "wrong" messages arrive, the respective counter will increase. The counter is reset, when a good message arrives. When either counter exceeds 100, "Tracking" will be reset to "False".

  • Local IP-addresses: This list shows the IP-addresses and Interfaces present on the PC. Usually, the topmost IP-address is the one used for an actual physical network-card, so this is usually the address you will have to enter for the OSC-client.

 

Known Issues and limitations:

The UDP protocol is a networking protocol, so the known issues apply to this. The software using networking resources must be allowed to do so by Windows. Usually Windows asks the user for permission to do so, the first time FaceTrackNoIR starts.

 

The port(s) used for UDP communication must be "open". So make sure no FireWall or other software is blocking the required port(s). Also routers are often configured to block UDP, so you may have to check your router's  settings to allow UDP communication.

 

When a process using an UDP-port terminates unexpectedly, the port may stay occupied. ATM this can only be remedied by rebooting the PC.

Info for developers, who want to communicate with FaceTrackNoIR via OSC:

The default address-pattern of the OSC-messages used for Pitch, Yaw and Roll and X, Y and Zis:

/gyrosc/gyro {pitch, roll, yaw}
/gyrosc/xyz {x, y, z}

The 3 angles are in radials and the translations in cm

Please drop me an e-mail, if you want to interface with FaceTrackNoIR and need some help... I would also be interested in any projects using FaceTrackNoIR. Quite a number of "serious" applications can be enhanced with face-tracking!