The first thing to do is sign up:
Then you need to set up a few things before creating your first Space:
Organisations allow you to share Panaudia Projects with colleagues and centrally manage billing.
You can have more than one Billing Account and use different ones for different Projects.
There are no ongoing subscription fees for using Panaudia, you just pay for the Spaces you create as, and when, you create them. We charge a flat fee based on the capacity of the Space and the amount of time it's active. You can see the current prices here
Projects are a way to group your Spaces together and make it easier to organise them.
You will need an API key to use the Spaces API to creates Spaces.
Spaces are created with the Spaces API.
POST https://panaudia.com/shapes/v1/projects/{project-id}/shapes
When you create a Space you will need to specify a few details:
For convenience in development you can also create Spaces using the Quick Start tab on the Project page in the web console.
Access to Spaces is secured using Tickets in the form of JSON Web Tokens.
You can create Tickets using the Spaces API:
POST https://panaudia.com/shapes/v1/spaces/{space-id}/tickets
Tickets are then used to connect to a Space with the JavaScript SDK.
Tickets can contain additional configuration to modify the audio mixing and customise the user's appearance and behaviour.
You can also create and sign Tickets yourself or using Quick Start tab of the Space in the web console.
Connect users of your web application to a Space is with the JavaScript SDK.
Pass the Ticket to the connect function along with the parent id of where the audio player should be inserted in the dom and the position and rotation of the user in the Space:
connect(ticket, parentId, position, rotation);
Then call move as the user moves around the Space to get a continually updated binaural audio mix back of all the other users in the Space:
move(position, rotation);
It is also possible to connect to a Space without using the JavaScript SDK and just use our WebRTC API from any environment that supports WebRTC.