Skip to content

Quick demonstration showing off in-client spatial audio with a backend to support multiple clients.

Notifications You must be signed in to change notification settings

MileTwo/spatial_audio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Positional Audio Meeting

This is a sample application demonstrating a proof of concept for creating a teleconference which includes positional audio using client-side processing. The goal of this application was to demo the ability to cluster users in a telecon but allow for mobility between groups.

This prototype is super basic, allowing for users to start talking, and even share a conversation but with a wild amount of lag. Basically, any time the stream is started, it starts from the beginning of the recording -- not very usable. However, the in-browser processing of location data worked!

Improvements needed:

  • Better support for streaming. I believe we need to add some encoding and meta-data to the chunks being transmitted in order to make them able to be picked up mid-stream (not have to listen to the whole stream from the beginning).
  • Support for autojoining a call
  • Better UI for positioning
  • Server-side audio processing (send one stream per client out instead of all the streams that are available.)

To Run:

  • Install frontend requirements: pushd ui && npm install && popd
  • (Optional) Build the static user interface (if you want to use the non-reloading page at /public: pushd ui && npm run build && cd ../api && mv ../ui/public/build ./ && cp ../ui/public/* ./build/
  • Install api requirements: pushd api && npm install && popd
  • Run: pushd api && node app

About

Quick demonstration showing off in-client spatial audio with a backend to support multiple clients.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published