8 speaker surround
alright all, i've made a 5 sound drum machine and basically what im trying to do is have each sound slowly rotating around the room in different directions and different speeds, so far i havent had much luck, bucket seems like a close object but i cant get it so each slider spaces out more. any ideas?
James skrev:
> alright all, i've made a 5 sound drum machine and basically what im trying to do is have each sound slowly rotating around the room in different directions and different speeds, so far i havent had much luck, bucket seems like a close object but i cant get it so each slider spaces out more. any ideas?
>
There is a wide variety of abstractions that will do this quite
flawlessly. I seem to remember 110.distribution or similar.
check maxobjects.com
ambisonics?
multiout?
On 25 May 2008, at 11:42, Andreas Wetterberg wrote:
> James skrev:
>> alright all, i've made a 5 sound drum machine and basically what
>> im trying to do is have each sound slowly rotating around the room
>> in different directions and different speeds, so far i havent had
>> much luck, bucket seems like a close object but i cant get it so
>> each slider spaces out more. any ideas?
>>
> There is a wide variety of abstractions that will do this quite
> flawlessly. I seem to remember 110.distribution or similar.
>
> check maxobjects.com
You could control the volume of each speaker with a sine function with
each sine function driven by the same metro. To do the spacing, you
could use progressively bigger delays on the metro for each function.
Maybe a ramp/triangle function would work better here...I'm sure
there's a more elegant way to do it. And you can adjust the delays by
cleverly stringing + and * operators.
On Sun, May 25, 2008 at 7:11 AM, Tommaso Perego wrote:
> ambisonics?
> multiout?
>
>
>
> On 25 May 2008, at 11:42, Andreas Wetterberg wrote:
>
>> James skrev:
>>>
>>> alright all, i've made a 5 sound drum machine and basically what im
>>> trying to do is have each sound slowly rotating around the room in different
>>> directions and different speeds, so far i havent had much luck, bucket seems
>>> like a close object but i cant get it so each slider spaces out more. any
>>> ideas?
>>>
>> There is a wide variety of abstractions that will do this quite
>> flawlessly. I seem to remember 110.distribution or similar.
>>
>> check maxobjects.com
>
>
--
Morgan Sutherland
this is what ive just come up with, seems to work, each sound needs to use this for individual travel. its not very elegant at all is there a better way of doing this?
im trying to used a 2 dimensional pict slider (one of the objects at the top) because i thought thats a really good way representing where exactly the sound is coming out....
James skrev:
> this is what ive just come up with, seems to work, each sound needs to use this for individual travel. its not very elegant at all is there a better way of doing this?
>
Yes, and that would be by using some of the very powerful work that is
in the abstractions and externals at maxobjects.com.. I would SERIOUSLY
recommend you go there and have a look-see.
> this is what ive just come up with, seems to work, each sound needs
> to use this for individual travel. its not very elegant at all is
> there a better way of doing this?
Try VBAP. It is easy to get started with, and is not particularly
heavy on your CPU.
Cheers,
Alexander
In case a reader doesn't know how ambisonics would solve this
question, it's relatively simple - and probably more scalable than
some of the other solutions posted. I'll try and give a plain English
explanation.
First, the short version:
source(s), azimuth(s), elevation(s)
|
v
encoder(s)
|
v
(summed)
|
v
decoder
|
v
speaker outputs
And a brief explanation of what this means:
Each source to be spatialized is passed to an encoder, along with a
direction from the listener described as azimuth (angle from the
listener on the horizontal plane, typically clockwise) and elevation
(angle from the listener going up/down, usually up from front-facing
is positive). These are polar coordinates, which are sometimes called
phi and theta. Note that the elevation transform is applied after
the azimuth (you could imagine turning from a front-horizontal facing
clockwise until you are aligned to the source, then rotating upwards
until you face the source).
The ambisonic encoder then creates an intermediate representation of
this sound source in the ambisonic domain. It's just a transform, in
the same way that a spectral domain can be achieved by (some kind of)
Fourier transform, however in this case it is based upon the math of
spherical harmonics and captures polar orientations rather than
frequencies. There are different orders of ambisonics, and they can
be done in 2D or 3D. Increasing the order is better if you want to
expand your acceptable listening area, but requires more signals in
the ambisonic domain. For an 8 channel surround in 2D, you would
typically use 1st order (requires 3 channels) or 2nd order (requires
5 channels in the ambisonic domain). One of the nice things about the
domain is that it is additive, you can encode lots of independent
sources and add the domain signals together (assuming the domain
orders and dimensions match).
The other nice thing is that the domain is portable; it can be easily
'decoded' onto different arrays of speakers, and the only additional
information needed is the speaker arrangement (and that, again, the
order/dimensions must match). The domain signals are passed to a
decoder to do another spherical harmonic transform at each speaker
location, and deduce the needed pressure waves from each speaker to
try and reconstruct the spatial sound field in your listening area.
That's why the decoder also needs to know the azimuth and elevation
of each speaker relative to the listener.
You can build a simple 1st order encoder in max just using basic
objects, since the math at 1st order is pretty simple - see Dave
Malham's primer:
Or, you can use externals for higher orders. There are two higher-
order ambisonic libraries listed on www.maxobjects.com, ICST's and my
own; both are fully capable of these tasks.
Also, note that ambisonics can do a lot more than what I've mentioned
here - I've deliberately simplified the description. I hope someday
soon a book will be published on the subject - it is quite overdue.
On May 25, 2008, at 4:11 AM, Tommaso Perego wrote:
> ambisonics?
> multiout?
>
>
>
> On 25 May 2008, at 11:42, Andreas Wetterberg wrote:
>
>> James skrev:
>>> alright all, i've made a 5 sound drum machine and basically what
>>> im trying to do is have each sound slowly rotating around the
>>> room in different directions and different speeds, so far i
>>> havent had much luck, bucket seems like a close object but i cant
>>> get it so each slider spaces out more. any ideas?
>>>
>> There is a wide variety of abstractions that will do this quite
>> flawlessly. I seem to remember 110.distribution or similar.
>>
>> check maxobjects.com
>
Be seeing you
grrr waaa
www.grahamwakefield.net
I would strongly recommend ICST ambisonics for your purposes. You can freely position all you sources in a 3D space very easily, and change the speaker configuration as well.
Not 5 compatible yet, though.
Ph
yes I agree with Jelly,
you need just that now, even I have found multiouts very useful too
in the past.
the patch you have made its not really effective.
You'll be amazed by ambisonics
On 26 May 2008, at 21:40, Philippe Jelli wrote:
>
> I would strongly recommend ICST ambisonics for your purposes. You
> can freely position all you sources in a 3D space very easily, and
> change the speaker configuration as well.
>
> Not 5 compatible yet, though.
>
> Ph
"I hope someday
soon a book will be published on the subject - it is quite overdue." HERE HERE! > 30 years overdue!
Quote: Jimmeh wrote on Sun, 25 May 2008 03:14
----------------------------------------------------
> alright all, i've made a 5 sound drum machine and basically what im trying to do is have each sound slowly rotating around the room in different directions and different speeds, so far i havent had much luck, bucket seems like a close object but i cant get it so each slider spaces out more. any ideas?
----------------------------------------------------
I made a wrapper around VBAP called panhandler~. It's here:
mz