How to make surround sound controller in Max/MSP

CKNY's icon

Hi everybody,

My department kindly let me borrow their Digi002 rack and now I am going to play some surround stuff in Max/MSP.

I know how to setting multi channel in I/O mapping. I also know how to assign multi channel by using "dac~ 1 2 3 4 ...."...but now I am stock in making controller knob (or controller panel) like what we usually see in ProTools, Logic Pro and Cubase so that I can really control or remote sound position.

Digi002 has 16 output channels, I think I can make at least 8 output group for surround output. I think and think and think....I just don't have any idea. I think maybe it is not easy to make a panel in Max so maybe just using knob or slider.....but I still don't have any idea how to precisely control sound's direction between 16 channels. Can somebody help me out here or give me a hint.

god.....this is so hard, please help!!

thank you so much, I am very appreciate any advice.

CKNY's icon

Quote: CKNY wrote on Fri, 21 September 2007 09:18
----------------------------------------------------
> Hi everybody,
>
> My department kindly let me borrow their Digi002 rack and now I am going to play some surround stuff in Max/MSP.
>
> I know how to setting multi channel in I/O mapping. I also know how to assign multi channel by using "dac~ 1 2 3 4 ...."...but now I am stock in making controller knob (or controller panel) like what we usually see in ProTools, Logic Pro and Cubase so that I can really control or remote sound position.
>
> Digi002 has 16 output channels, I think I can make at least 8 output group for surround output. I think and think and think....I just don't have any idea. I think maybe it is not easy to make a panel in Max so maybe just using knob or slider.....but I still don't have any idea how to precisely control sound's direction between 16 channels. Can somebody help me out here or give me a hint.
>
> god.....this is so hard, please help!!
>
> thank you so much, I am very appreciate any advice.
----------------------------------------------------

Hi,

just want to say something here. I know VBAP can do surround. But my point is what is the best way to create more user friendly surround sound panel so that audience can easily understand sound panning?

thanks

Roby Steinmetzer's icon

Take a look at the Ambisonics Tools from Philippe Kocher:
http://www.icst.net/downloads/

Roby

On 21 sept. 07, at 17:18, UCDMSRA wrote:

>
> Hi everybody,
>
> My department kindly let me borrow their Digi002 rack and now I am
> going to play some surround stuff in Max/MSP.
>
> I know how to setting multi channel in I/O mapping. I also know how
> to assign multi channel by using "dac~ 1 2 3 4 ...."...but now I am
> stock in making controller knob (or controller panel) like what we
> usually see in ProTools, Logic Pro and Cubase so that I can really
> control or remote sound position.
>
> Digi002 has 16 output channels, I think I can make at least 8
> output group for surround output. I think and think and think....I
> just don't have any idea. I think maybe it is not easy to make a
> panel in Max so maybe just using knob or slider.....but I still
> don't have any idea how to precisely control sound's direction
> between 16 channels. Can somebody help me out here or give me a hint.
>
> god.....this is so hard, please help!!
>
> thank you so much, I am very appreciate any advice.

Christopher Overstreet's icon

VBAP may have been suggested because there is a lot to getting the
proportions/levels etc. to getting a nice spatialized sound. Here is a link
to a very nice library, which also has its own GUI, that will do all you ask
and much more. You can use an object like "hi" if you want to hook up a
joystick or something like that. Search this list if you have any more
questions, as there is a huge wealth of information about this stuff.

Christopher Overstreet

On 9/21/07 8:42 AM, "UCDMSRA" wrote:

>
> Quote: CKNY wrote on Fri, 21 September 2007 09:18
> ----------------------------------------------------
>> Hi everybody,
>>
>> My department kindly let me borrow their Digi002 rack and now I am going to
>> play some surround stuff in Max/MSP.
>>
>> I know how to setting multi channel in I/O mapping. I also know how to assign
>> multi channel by using "dac~ 1 2 3 4 ...."...but now I am stock in making
>> controller knob (or controller panel) like what we usually see in ProTools,
>> Logic Pro and Cubase so that I can really control or remote sound position.
>>
>> Digi002 has 16 output channels, I think I can make at least 8 output group
>> for surround output. I think and think and think....I just don't have any
>> idea. I think maybe it is not easy to make a panel in Max so maybe just using
>> knob or slider.....but I still don't have any idea how to precisely control
>> sound's direction between 16 channels. Can somebody help me out here or give
>> me a hint.
>>
>> god.....this is so hard, please help!!
>>
>> thank you so much, I am very appreciate any advice.
> ----------------------------------------------------
>
> Hi,
>
> just want to say something here. I know VBAP can do surround. But my point is
> what is the best way to create more user friendly surround sound panel so that
> audience can easily understand sound panning?
>
> thanks

LP's icon

You can try holospat objects (panpot and multiouts~)
http://www.gmem.org/recherche/Max-externals.html

>
>Digi002 has 16 output channels, I think I can make at least 8 output
>group for surround output. I think and think and think....I just
>don't have any idea. I think maybe it is not easy to make a panel in
>Max so maybe just using knob or slider.....but I still don't have
>any idea how to precisely control sound's direction between 16
>channels. Can somebody help me out here or give me a hint.
>

--
****** Zorglub *********

mzed's icon

> Hi,
>
> just want to say something here. I know VBAP can do surround. But my point is what is the best way to create more user friendly surround sound panel so that audience can easily understand sound panning?
>

I created some wrappers around VBAP in the CNMAT Max/MSP/Jitter Depot. http://www.cnmat.berkeley.edu/mmjdepot/

mz

mihalic.imeb's icon
seejayjames's icon

I'd use a multislider for all 8 channels, or 16 if you go that route. Presets and pattr work well for this. The slider value list (probably 0 to 127) will set the real audio-control elements (gainfaders~) which can be hidden. You can also have a separate matrixctrl to turn the channels on and off. Don't use a gate~ as you'll get clicks, rather set gainfader~ volume to 0 then set to previous level -- like a mute. The interpolation time in the gainfader~ will prevent clicks, set it to somewhere between 10 and 50 ms, or longer if you want more fade time.

The trick is mapping the linear values of the sliders (or knobs or faders or whatever you use) to the right logarithmic values for the audio, I messed with this a lot and wound up using a table lookup. So, 128 values that map on a curve that sounds right. This was just for panning L and R, so this application will probably need a bit more fiddling...

--CJ

mzed's icon

>
>
> Would it work on a 7.1 surround system?
>
>

>
> > I created some wrappers around VBAP in the CNMAT Max/MSP/Jitter
>

VBAP doesn't do any bass management. You could do that yourself, and pan in a 7.0 setting, though.

mz

CKNY's icon

Quote: mzed wrote on Sat, 22 September 2007 15:10
----------------------------------------------------
>
> > Hi,
> >
> > just want to say something here. I know VBAP can do surround. But my point is what is the best way to create more user friendly surround sound panel so that audience can easily understand sound panning?
> >
>
>
> I created some wrappers around VBAP in the CNMAT Max/MSP/Jitter Depot. http://www.cnmat.berkeley.edu/mmjdepot/
>
> mz
----------------------------------------------------

Hi MZ,

Those objects are unbelievable!!!!!!!!!!!!!!!

Are you teaching Max/MSP? I want to be your student. I am serious. Please let me know how to apply or how to attend the class? I am in Colorado Denver right now but I will move to San Francisco next month.

thank you so much

CK

CKNY's icon

Quote: mzed wrote on Mon, 24 September 2007 16:22
----------------------------------------------------
>
> >
> >
> > Would it work on a 7.1 surround system?
> >
> >
>
> >
> > > I created some wrappers around VBAP in the CNMAT Max/MSP/Jitter
> >
>
>
> VBAP doesn't do any bass management. You could do that yourself, and pan in a 7.0 setting, though.
>
> mz
>
----------------------------------------------------

Hi MZ,

I don't quiet understand what is "pan in a 7.0 setting" would you please specified? I am sorry if I ask stupid question.

thank you so much

CK

Roman Thilenius's icon

> Hi MZ,
>
> Those objects are unbelievable!!!!!!!!!!!!!!!
>
> Are you teaching Max/MSP? I want to be your student. I am serious. Please let me know how to apply or how to attend the class?

mzed used to be one of the guys which clean the toilets in a booklyn mcdonalds pizzeria before he stole my secret 110 patches and became a famous superstar.

-110

mzed's icon

> >
> >
> > I created some wrappers around VBAP in the CNMAT Max/MSP/Jitter Depot. http://www.cnmat.berkeley.edu/mmjdepot/
> >

> Those objects are unbelievable!!!!!!!!!!!!!!!
>

Thanks.

> Are you teaching Max/MSP? I want to be your student.

I've been teaching some of the CNMAT summer workshops for a while:
http://www.cnmat.berkeley.edu/Max_MSP2007.html

However, my gig is up at the end of this school year. It looks like this Bay Area Computer Music Technology Group might get active...

mz

barry threw's icon

Nice speaker placement JS.

b

On Sep 22, 2007, at 2:10 PM, mzed wrote:

>
>
>> Hi,
>>
>> just want to say something here. I know VBAP can do surround. But
>> my point is what is the best way to create more user friendly
>> surround sound panel so that audience can easily understand sound
>> panning?
>>
>
>
> I created some wrappers around VBAP in the CNMAT Max/MSP/Jitter
> Depot. http://www.cnmat.berkeley.edu/mmjdepot/
>
> mz
> --
> || michael f. zbyszynski -- molecular gastronimist
> || http://www.cnmat.berkeley.edu/
> || http://www.mikezed.com/
>
>
>

Barry Threw
Media Art and Technology

San Francisco, CA Work: 857-544-3967
Email: bthrew@gmail.com
IM: captogreadmore (AIM)
http:/www.barrythrew.com

CKNY's icon

Quote: CKNY wrote on Mon, 24 September 2007 16:45
----------------------------------------------------
> Quote: mzed wrote on Mon, 24 September 2007 16:22
> ----------------------------------------------------
> >
> > >
> > >
> > > Would it work on a 7.1 surround system?
> > >
> > >
> >
> > >
> > > > I created some wrappers around VBAP in the CNMAT Max/MSP/Jitter
> > >
> >
> >
> > VBAP doesn't do any bass management. You could do that yourself, and pan in a 7.0 setting, though.
> >
> > mz
> >
> ----------------------------------------------------
>
> Hi MZ,
>
> I don't quiet understand what is "pan in a 7.0 setting" would you please specified? I am sorry if I ask stupid question.
>
> thank you so much
>
> CK
----------------------------------------------------

Hi I am sorry for that question. Now I figure what is 7 settings. Pretty user friendly interface. You are the man.

thanks

CK

Wetterberg's icon

mzed skrev:
>> Hi,
>>
>> just want to say something here. I know VBAP can do surround. But my point is what is the best way to create more user friendly surround sound panel so that audience can easily understand sound panning?
>>
> I created some wrappers around VBAP in the CNMAT Max/MSP/Jitter Depot. http://www.cnmat.berkeley.edu/mmjdepot/
>
I am sorry, but I can't find anything related to speaker placement in
your wonderful depot - which object download am I looking for?

Cheers,
Andreas.

(karrrlo)'s icon

check in the "modules" folder > panhandler folder

best

Quote: Wetterberg wrote on Tue, 25 September 2007 10:54
----------------------------------------------------
> mzed skrev:
> >> Hi,
> >>
> >> just want to say something here. I know VBAP can do surround. But my point is what is the best way to create more user friendly surround sound panel so that audience can easily understand sound panning?
> >>
> > I created some wrappers around VBAP in the CNMAT Max/MSP/Jitter Depot. http://www.cnmat.berkeley.edu/mmjdepot/
> >
> I am sorry, but I can't find anything related to speaker placement in
> your wonderful depot - which object download am I looking for?
>
> Cheers,
> Andreas.
>
----------------------------------------------------

Wetterberg's icon

Ah, didn't know one had to download the whole thing there...
thanks!

Andreas.

karl-otto von oertzen skrev:
> check in the "modules" folder > panhandler folder
>
> best
>
> Quote: Wetterberg wrote on Tue, 25 September 2007 10:54
> ----------------------------------------------------
>
>> mzed skrev:
>>
>>>> Hi,
>>>>
>>>> just want to say something here. I know VBAP can do surround. But my point is what is the best way to create more user friendly surround sound panel so that audience can easily understand sound panning?
>>>>
>>>>
>>> I created some wrappers around VBAP in the CNMAT Max/MSP/Jitter Depot. http://www.cnmat.berkeley.edu/mmjdepot/
>>>
>>>
>> I am sorry, but I can't find anything related to speaker placement in
>> your wonderful depot - which object download am I looking for?
>>
>> Cheers,
>> Andreas.
>>
>>
> ----------------------------------------------------
>
>
> --
> karrrlo
>
>
> .
>
>

mzed's icon

Quote: barry threw wrote on Mon, 24 September 2007 18:03
----------------------------------------------------
> Nice speaker placement JS.
>
> b
>
> On Sep 22, 2007, at 2:10 PM, mzed wrote:
>

> >
> >
> > I created some wrappers around VBAP in the CNMAT Max/MSP/Jitter
> > Depot. http://www.cnmat.berkeley.edu/mmjdepot/
> >

Oh hey, about that. It would be even nicer if the outputdef function looked like this:

function outputdef()
{
for (i = 0 ; i < all_speakers.length ; i ++)
        {
        def_ls[i] = all_speakers[i].angle;
        }
    outlet(1, osc, all_speakers[hand].angle);    
        outlet(0, "/define_loudspeakers", 2, def_ls);
}    

The current one has a minor typo. I can send the whole js, if you need it.

mz

CKNY's icon

Quote: mzed wrote on Fri, 28 September 2007 12:59
----------------------------------------------------
> Quote: barry threw wrote on Mon, 24 September 2007 18:03
> ----------------------------------------------------
> > Nice speaker placement JS.
> >
> > b
> >
> > On Sep 22, 2007, at 2:10 PM, mzed wrote:
> >
>
> > >
> > >
> > > I created some wrappers around VBAP in the CNMAT Max/MSP/Jitter
> > > Depot. http://www.cnmat.berkeley.edu/mmjdepot/
> > >
>
>
> Oh hey, about that. It would be even nicer if the outputdef function looked like this:
>
> function outputdef()
> {
> for (i = 0 ; i < all_speakers.length ; i ++)
>         {
>         def_ls[i] = all_speakers[i].angle;
>         }
>     outlet(1, osc, all_speakers[hand].angle);    
>         outlet(0, "/define_loudspeakers", 2, def_ls);
> }    
>
>
> The current one has a minor typo. I can send the whole js, if you need it.
>
> mz
>
>
----------------------------------------------------
Hi,

Thanks. Please send me the whole js file. Thank you so much.
xlight63@hotmail.com

CK

CKNY's icon

Quote: mzed wrote on Fri, 28 September 2007 12:59
----------------------------------------------------
> Quote: barry threw wrote on Mon, 24 September 2007 18:03
> ----------------------------------------------------
> > Nice speaker placement JS.
> >
> > b
> >
> > On Sep 22, 2007, at 2:10 PM, mzed wrote:
> >
>
> > >
> > >
> > > I created some wrappers around VBAP in the CNMAT Max/MSP/Jitter
> > > Depot. http://www.cnmat.berkeley.edu/mmjdepot/
> > >
>
>
> Oh hey, about that. It would be even nicer if the outputdef function looked like this:
>
> function outputdef()
> {
> for (i = 0 ; i < all_speakers.length ; i ++)
>         {
>         def_ls[i] = all_speakers[i].angle;
>         }
>     outlet(1, osc, all_speakers[hand].angle);    
>         outlet(0, "/define_loudspeakers", 2, def_ls);
> }    
>
>
> The current one has a minor typo. I can send the whole js, if you need it.
>
> mz
>
>
----------------------------------------------------

Hi,

Actually, I have one thing to ask. How come everytime I open your patch and there is always a VBAP help file jump out and ask me to test my speaker first. I have already test the speaker and put the dealy time in the ls file. If I ignore that file and run your patch, Max window will have the error message "please test speaker first"......it kind of annoying. Did I do something wrong?

thanks

mzed's icon

> Hi,
>
> Actually, I have one thing to ask. How come everytime I open your patch and there is always a VBAP help file jump out and ask me to test my speaker first.

I have no clue. Which patch?

Perhaps you have IRCAM's VBAP from Spat, and not VIlle Pulkki's from here:

Nothing in the panhandler module generates that message, so it must be something else.

mz

CKNY's icon

Quote: mzed wrote on Mon, 01 October 2007 11:32
----------------------------------------------------
>
> > Hi,
> >
> > Actually, I have one thing to ask. How come everytime I open your patch and there is always a VBAP help file jump out and ask me to test my speaker first.
>
> I have no clue. Which patch?
>
> Perhaps you have IRCAM's VBAP from Spat, and not VIlle Pulkki's from here:
>
> http://acoustics.hut.fi/~ville/software/MAX_MSP/
>
> Nothing in the panhandler module generates that message, so it must be something else.
>
> mz
>
----------------------------------------------------

Hi MZ,

The link you gave me seems not working. I can not link to anything. Oh, by the way, thanks for the js file. I just want to make sure that where should I put this file? should I change the name of file?

thanks

Peter Nyboer's icon

http://cicm.mshparisnord.org/
has some good spatialization tools, including some Trajectory tools, that, when used in conjunction with vbap and cartopol, can make lots of fun with many speakers!

peter.

CKNY's icon

Quote: pnyboer wrote on Tue, 02 October 2007 09:46
----------------------------------------------------
> http://cicm.mshparisnord.org/
> has some good spatialization tools, including some Trajectory tools, that, when used in conjunction with vbap and cartopol, can make lots of fun with many speakers!
>
> peter.
>
----------------------------------------------------

Hi,

Yes CICM is very cool. I downloaded their objects and tired it and it is awesome. I used one of their example patch for part of my project. It just I don't know why if I just copy-past from the example patch to my patch, it doesn't work very well. I end of using the example patch as bpatch. Do you have this problem?

thanks

mzed's icon

Oh, by the way, thanks for the js file. I just want to make sure that where should I put this file? should I change the name of file?

Replace the old speaker_placement.js with the one I sent.

mz

BILLBO's icon

Hi, i have recently just finished a surround sound mixer, made in max/msp. Instead of using pots etc to control the sound and where it is in the field i have faders for each speaker. There are 5 stems for a song, or drop boxes to put in your own stems or parts. So you can slide up each fader for each stem on each speaker. This makes learning how 5.1 mixing works easy as it is more like a normal mixing desk with faders. It also has dynamics processing for each fader and a recording facility. Attached is the patch if you would like to try it out.