dev's: creating an easy protocol for audio routing between patches

  • after hacking together a version of mlr + straw for watson I thought it'd be a nice idea to come up with some sort of standard to send and receive audio to and from max patches.

    a simple configurable pair of textbox's within patches could solve it.

    screenshot and patch attached....


    thoughts?

  • bump... thought this would be a no-brainer.

  • sorry, I didn't chime in because i do not typically have audio in my patches, but that sounds good.

    I am working on an OSC spec. The tricky thing about audio is not everything will be audio. ... I'll think on it, but this seems like a good standalone solution.

  • @stevie, I'm having trouble understanding what this standard would be for, could you explain:
    - I’m assuming it’s a protocol just for communication between max patches?
    - Could a processing or SuperCollider app easily consume the audio stream sent from max sends (I don’t think it’ll work well with m4l either, 10ms delay on audio sends I think? )
    - What does this offer over using SoundFlower/Jack/Rearoute to route audio between apps? Aside from naming connections nicely? I think you’d end up tweaking names in both sending and receiving apps for all but the simplest of set ups.

    @gs, very interested in what you’ve come up with.the community needs a consensus on some things like metronome ticks and note triggering for a while now. Is that the sort of stuff you've been thinking about?

  • @triss - this would be like rewire. (though you do seem to get that..:-))

    It has ease of use and lack of a middle man in its favor. there might even be the possibility of lower latency, since the audio doesn't leave the app.

    you could use pattr objects to save selections but I don't think you can escape some 'increased' level of fiddling.

    about the spec... it is a fair amount more than that. I am being a tiny bit gaurded about it because i don't want to bother with complaints till it is as complete as i can make it in this first go.

  • @stevieraysean - you should have a command asking if there is audio at all. don't add the app to the umenu if there isn't

  • ok, so this is to make passing of audio between max devices easier.... that's kind of nice.

    so what would the workflow be if you wanted to redirect audio in to e.g. ableton live? an m4l patch or something? or have a toggle between this type of outs and normal audio outs?

    apols if I'm not getting something...

  • I think it is a nice idea to create a streamlined system for app routing... I guess the trick will be in implementation...

    But this does sound like a wonderful way to do stuff without increasing overhead + latency

  • Max for live complicates this because it doesn't share send/receives. I had hoped OSC would be a worthy answer, but that is looking down as well.

  • yeah... OSC is not a good solution for sending audio unfortunately... not high enough bandwidth / rate of messages...

    There is a Jitter object that you can use though for sending audio... what is it called though :(

  • yay. thanks for the responses
    yeah i should have been more clearer.


    this idea currently would only work within max/msp patches standalone. I know a lot of the community use ableton and love it. I myself have moved on from live and feel more at home producing apps for use without the live/m4l overheads.

    I think this would be a more user friendly approach than soundflower/jack and possibly lower latency.


    by no means a finished idea but i thought a discussion would encourage it along.


    was thinking the most basic of setups being just setting the send and receives in each app.


    idea could be expanded to include rewire inputs/outputs but then it complicates things with having to change the audio device and certain things get disabled.




    with a bit more work on the draft above I could come up with a single simple object (similar to monomecontrol objects) that you could insert after adc and before dac.

    would make it really easy for developers to put into patches if asked and i could make a basic tutorial video for people who wanna do it on the max trail.