Panaudia Space is a WebRTC server and spatial audio engine.
Users can connect from virtual worlds in browsers and get back spatialised binaural stereo mixes.
The functionality of this stand alone Panaudia Space server is almost identical to a Panaudia Cloud Space. The chief differences being that it has lower maximum user capacity but can do higher order ambisonics.
Download your licence and a chosen binary from your organisation's page.
Select a matching Dockerfile from here.
Unzip the binary next to the Dockerfile.
Build the docker image:
docker buildx build --platform linux/amd64 --no-cache \ -t panaudia/panaudia-space:latest-amd64 .
Run the container adding in your licence file:
docker run --rm -it --network=host -e PANAUDIA_LOG_LEVEL=1 \ -v ${PWD}/panaudia-licence.txt:/opt/panaudia/bin/panaudia-licence.txt \ panaudia/panaudia-space:latest-amd64 /opt/panaudia/bin/panaudia-space
There is a simple static web page in our examples that will connect to this Space web-minimal-static
We offer two types of licence for Panaudia Space, a free licence that can be used for certain non-commercial uses, and commercial licences for large and small businesses.
You can request a free licence directly from an organisation's web page: create an Organisation, click on the Software tab and select Panaudia Space.
Contact Paul - paul@glowinthedark.co.uk to arrange a commercial licence.
You will need to download a licence file to unlock the software.
You can download the Panaudia Space software directly from an organisation's web page.
We offer two separate builds for each version of Panaudia Space one for arm64 and one for amd64 chip architectures:
Panaudia Space runs on Linux, we currently recommend Debian bookworm as that's what we are building and testing with.
The tar file you have downloaded contains a binary executable and copies of its licence terms and copyright notices.
If you plan to deploy using containers we have some Dockerfiles to make this easy.
Each build flavour has a matching dockerfile, just unzip the tar next to the Dockerfile and run docker build.
There are more detailed instructions with the Dockerfiles
If you don't plan to use containers or want to install manually it's quite simple, and you might still want to use the Dockerfiles for reference.
First copy the binary to into /opt/panaudia/bin
mkdir -p /opt/panaudia/bin cp panaudia-space /opt/panaudia/bin/panaudia-space
and make sure its executable:
chmod 755 /opt/panaudia/bin/panaudia-space
Then install its dependencies, these are principally libopus and liblapack, also install libcap2-bin if you want to listen on restricted ports.
apt-get update && apt-get install -y ca-certificates libopus0 libopusfile0 \ liblapack3 libopenblas0-serial libopenblas0 liblapacke libcap2-bin
You may need to set the environment to specify where it should look for dynamic libraries
LD_LIBRARY_PATH=/usr/local/lib;/usr/lib
And if you do want to listen on restricted ports you can use setcap like this:
setcap CAP_NET_BIND_SERVICE=+eip /opt/panaudia/bin/panaudia-space touch /etc/ld.so.conf.d/panaudia-space.conf echo "/usr/local/lib/ /usr/lib/" > /etc/ld.so.conf.d/panaudia-space.conf ldconfig
You should now be able to run the binary:
/opt/panaudia/bin/panaudia-space
To run Panaudia Space you need agree to the Panaudia Space Free Licence Terms or have a seperate commercial licence. In either case you should have a licence file which is needed to unlock the application.
There are two ways to use this file with Panaudia Space:
The default for PANAUDIA_LICENCE_PATH is panaudia-licence.txt so if you place this file next to the binary it will work fine.
All configuration of the application is done by setting certain environment variables:
PANAUDIA_HOST The address the server will bind to. default: 0.0.0.0
PANAUDIA_PUBLIC_HOST Use this to force the address used by WebRTC rather than that discovered by ICE. Optional
PANAUDIA_HTTP_PORT The port used by the websockets server that negotiates WebRTC. default: 8080
PANAUDIA_RTC_PORT The port used for WebRTC audio. default: 8443
PANAUDIA_TLS_CTR_PATH The file path to a TLS certificate for serving wss. Optional
PANAUDIA_TLS_KEY_PATH The file path to a TLS key for serving wss. Optional
PANAUDIA_TICKET_KEY_PATH The file path to a key if you want to use secure tickets. Read the documantation on Tickets if you want to use this. Optional
PANAUDIA_SPACE_SIZE The size of the space in meters. default: 40
PANAUDIA_SPACE_ORDER The ambisonic order of the Space. If you are using Panaudia Link output it can only be 2 or 3, otherwise it can go up to 5. default: 3
PANAUDIA_LOG_MS Turns on regular logging of performance in ms. 0 or 1. default: 0
PANAUDIA_TEST_TONE Turns on a test tone. 0 or 1. default: 0
PANAUDIA_LOG_LEVEL Sets logging level. 0 - VERBOSE 1 - DEBUG 2 - INFO 3 - WARNING 4 - ERROR 5 - CRITICAL default INFO
PANAUDIA_LICENCE_PATH The path to the licence file. Set this to an empty string to use PANAUDIA_LICENCE_STRING instead. default panaudia-licence.txt
PANAUDIA_LICENCE_STRING Copy the contents of the licence file in here to avoid using a file. Optional