Synchronizes multiple OGG tracks across multiple browsers.
Find a file
2018-05-27 20:30:48 -04:00
doc README update. 2018-05-27 19:59:51 -04:00
frontend Add instructions. Better title format. 2018-05-27 20:30:48 -04:00
.dockerignore Added Dockerfile. Renamed some of the sample files. 2018-05-21 19:48:18 -04:00
.env.sample Update env sample 2018-05-27 19:04:53 -04:00
.gitignore Added Dockerfile. Renamed some of the sample files. 2018-05-21 19:48:18 -04:00
config.js Initial commit. 2018-05-21 17:59:28 -04:00
docker-compose-debug.yml Added Dockerfile. Renamed some of the sample files. 2018-05-21 19:48:18 -04:00
Dockerfile Added Dockerfile. Renamed some of the sample files. 2018-05-21 19:48:18 -04:00
index.js Moved Knob into project. Replace mediainfo. Unmount client 2018-05-27 17:45:42 -04:00
latency.js Initial commit. 2018-05-21 17:59:28 -04:00
nodemon.json Initial commit. 2018-05-21 17:59:28 -04:00
package.json Add instructions. Better title format. 2018-05-27 20:30:48 -04:00
README.md Add instructions. Better title format. 2018-05-27 20:30:48 -04:00
words.txt Initial commit. 2018-05-21 17:59:28 -04:00
ws.js Moved Knob into project. Replace mediainfo. Unmount client 2018-05-27 17:45:42 -04:00
yarn.lock Moved Knob into project. Replace mediainfo. Unmount client 2018-05-27 17:45:42 -04:00

web-audio-stream-sync

Takes multiple OGG files, and allows remotely playing them with different pan and gain settings on different clients.

Prerequisites

  • node v10.0.0
  • yarn 1.6.0
  • npm 5.6.0
  • Chrome 66

You may be able to use newer or older versions of these components, but this is not guaranteed to work.

Running

  1. Create a folder at /frontend/public/audio and save your audio files there. They should all be the same length.
  2. Copy the file /.env.sample to /.env. Change the AUDIO_FILES_ARRAY to include your files.
  3. Change the ADMIN_PASSWORD in .env to something else!
  4. Run yarn install
  5. Run yarn run start
  6. Navigate to http://localhost:3000 with Chrome. The app should be running.
  7. Open as many clients as you want, on as many computers as you want, then open the admin page in a new Chrome tab.
  8. Paste the admin password into the box, and click submit.

An interface will appear, allowing you to control the sources playing on each client individually. If you name the clients using the client name box, the client's settings will be saved to storage.json using that name, and will be recalled any time you enter that name, even if you restart the server.