I made a package designed to be able to use the possibilities of Ambisonics in M4L (without plugreceive~ and plugsend~ ), and with it to offer the possibility of multichannel setups in M4L. The setup is quite complicated, but documented (http://matthias-schneiderbanger.de/wordpress/files/ambisonics4live/README-Ambisonics4Live.pdf).
The M4L-Patch offers the following:
- 2 graphs, the first graph gives a representation of all the different positions when you use the spatialisation module for multiple tracks. The second graph is a representation if the current position of the actual track. It is possible to control all track positions in both graphs, so you don‘t have to switch to another track just to change its position.
- A representation of the coordinates of the x- and y-axis of the actual track position in a range from -1. to 1. You can map these 2 number boxes to a MIDI device by conventionally editing the MIDI assignation in Ableton Live. Also, you can record and edit your movement in the Arrangement view, just as any other parameter.
- two room effects: 1.) a Doppler shift that is calibrated to the speed of sound in dry air at 20 °C (343.8 m/s) and that can also be adjusted by changing the virtual radius of the graph display. 2.) A high frequency absorbtion effect, that simulates air absorption as function of distance.
- Easily adaptable for different loudspeaker/room-setups. Supports loudspeaker ring setups up to 50 units (algorithmic positioning, with always LS 1 & 2 in the very front)
- No need to create Ambisonics patches on your own, with sometimes lots of Cables just for one occasion (dynamic generation of the Ambisonics Audio Max/MSP Server)
- No need to switch from the Ableton Live window. Once correctly set up, everything else works in the background without need to check (hopefully)
You can download the whole package here: http://matthias-schneiderbanger.de/wordpress/files/ambisonics4live/Ambisonics4Live-Alpha1.zip
It's a very early version, I don't assume it's ready to use (especially concerning usability), but if you want to try it – with your feedback it could improve ;)
tell me what you think
Ambisonics for the masses. Sweet :)
Hi Matthias S,
I wondered why you decided not to use [plugsend~] [plugreceive~] and Jack instead.
Well, I know Max’s documentation says: "The use of the plugsend~ and plugreceive~ objects to pass audio between Max for Live devices is not supported." but it seams to work…
I am trying them at the moment. With my setup I get a steady 46ms latency (2048 samples) between [plugsend~] and [plugreceive~], and I have not noticed any problem.
Well, it is not perfect, as I get 1ms latency between [send~] and [receive~].
Do you experience a lot less latency with Jack?
Here my latency test devices, if it is any use:
Now using more [plugsend~] & [plugreceive~], I understand why you try to avoid it. I said "steady". But that not exactly right… Now getting latencies I can’t work with unless doing loooong sounds…