worldmaking / mischmasch

https://www.alicelab.world/msvr
MIT License
9 stars 1 forks source link

how to distribute & stream audio from the max patch on the server, to each connected client. #6

Closed michaelpalumbo closed 4 years ago

michaelpalumbo commented 5 years ago

edit see https://github.com/worldmaking/msvr/issues/6#issuecomment-519231693 in this thread for current state of progress for this issue

Zodsmar commented 5 years ago

This one we might need to talk a bit more about with everyone. I am not sure how we can send Max Audio to a client who does not have max on their system or would they require max. Also potentially streaming the audio but that would be server side.

michaelpalumbo commented 5 years ago

@Zodsmar We've assumed that Max would only run Server-side.

I've also assumed that the way to transmit the audio stream is using webRTC. How the audio gets from Max to the server internally within the OS -- perhaps Jack as a temporary solution, then maybe try hosting the WebRTC server within node4Max and see if the audio can be accessed via a buffer.

There may be other ways but I need to dig into this further

michaelpalumbo commented 5 years ago

So I've been thinking about this incorrectly: the max patch is already a client which means we should run it on each client machine. Reason I say this is that after looking into webrtc and icecast and other options for streaming audio from server>client... its complicated and very likely introduces a lot of latency. and we already have the max patch setup as a client.

@Zodsmar and I were chatting about turning the max patch into a Max runtime standalone, this way we could bundle it with server code for when we release it as a steam app, for example.

NOTE: The question of streaming audio from a client to mobile (or any machine that can't run the max patch/standalone) remains open, but fortunately for the current goals not urgent.

michaelpalumbo commented 4 years ago

no longer relevant