-
Notifications
You must be signed in to change notification settings - Fork 956
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Synchronizing Tone.js audio across multiple devices #1221
Comments
Hi @MattTheRed, I'm the author of the timing* libraries you mentioned above. This question actually comes up quite often which is why I made an attempt to create a demo for it. https://chrisguttandin.github.io/tonejs-synchronization-demo/ The source code is available here. The JavaScript code is probably the most interesting bit. I'm not entirely sure though if this is most efficient way to synchronize Tone.js to an external clock. I would be happy to hear your thoughts. |
Woah, thanks @chrisguttandin! This is great! Going to play with this and see what I can whip up. |
thx! 😇 |
The feature you'd like
This isn't so much a feature request, but a request for advice on how to go about approaching an app using Tone.js.
I'm attempting to build an interactive UI where multiple participants can each play an instrument on their own device and play "in time" with each other. I'm going for a similar effect to: https://plink.in/
To accomplish this using Tone.js I believe I would have to:
Tone
class to start at the same time (Here's a naive attempt at doing this: https://codepen.io/mattthered/pen/VwpLdvp)Any advice for how you might go about solving this problem with Tone.js? I know you guys have an approach to re-sync timing periodically to achieve a fixed tempo.
https://codepen.io/mattthered/pen/VwpLdvp
Any alternatives you've considered
N/A
Additional context
N/A
Feature Requests will eventually be closed if inactive
Feel free to close this as an issue since this is not an actual feature request.
The text was updated successfully, but these errors were encountered: