Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Using an OptiTrack system for different applications of the SoundScape Renderer

Project description

This python package provides the necessary tools to use an OptiTrack optical tracking system for different applications of the SoundScape Renderer (SSR) including listener position and orientation tracking in local sound field synthesis.

It contains several modules including a module to connect to the OptiTrack system (opti_client) and a seperate one to connect to and control instances of the SSR (ssr_client). The module that connects these aforementioned ones and implements sequence and desired functionality is also part of the package (bridges).

Note that the optirx 1.10 library is included here with only minor changes from the original source and that the modules ssr_client and opti_client respectively are designed to be used independently in other projects as well.

Documentation:
http://opti-ssr.rtfd.io/
Source code:
https://github.com/OptiTools/opti_ssr
Python Package Index:
http://pypi.python.org/pypi/opti_ssr/
Example files to set up the SSR:
https://github.com/OptiTools/opti_ssr-examples
License:
MIT – see the file LICENSE for details.

Installation

Aside from Python itself, NumPy and pyquaternion are needed. It should work with both Python3 as well as Python2.

The easiest way to install this package is using pip to download the latest release from PyPi:

pip install opti_ssr

Usage

To use opti_ssr you can use a demo function like the basic one below. Simply instantiate the necessary class objects according to the given parameters and start the thread in the class that contains the functionality. Ready-to-use demo functions to demonstrate head orientation tracking in binaural synthesis or listener tracking in local sound field synthesis are available at the github repository. The SoundScape Renderer has to be started prior to opti_ssr.

import opti_ssr

def demo(ssr_ip, ssr_port, opti_unicast_ip, opti_multicast_ip, opti_port, ssr_end_message):
    optitrack = opti_ssr.OptiTrackClient(opti_unicast_ip, opti_multicast_ip, opti_port)
    ssr = opti_ssr.SSRClient(ssr_ip, ssr_port, ssr_end_message)
    headtracker = opti_ssr.HeadTracker(optitrack, ssr)
    headtracker.start()

if __name__ == "__main__":
    demo()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for opti-ssr, version 0.1.4
Filename, size File type Python version Upload date Hashes
Filename, size opti_ssr-0.1.4-py2.py3-none-any.whl (13.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size opti_ssr-0.1.4.tar.gz (11.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page