i was thinking

Jun 11, 2007 at 1:30pm

i was thinking

Hi,

i’ve been noodling around briefly in Max/Msp on and off for some time now, looking for the best environment to do/study audio dsp.

what i was poundering about.

isn’t it very cumbersome to rapidly implement formula’s in Max/Msp? i mean the +, *, / stuff etc.

wouldn’t it be better to have some modules were you can WRITE some code blocks and use those as ‘blackboxes’ to do specific DSP or other tasks. maybe were you can define the frequency or cpu intensity necessary for each block (audio vs modation signals)…

just a thought…think it would make serious programming in this environment a lot more elegant.

what do you think?

#32409
Jun 11, 2007 at 1:46pm

csound~ and rtcmix~ are both implemented in msp. Also expr~ can reduce the
number of basic math objects in a patch. supercollider understands both
midi and OSC – a bit more complicated interface but sc’s synthesis language
is super.

On 6/11/07 9:30 AM, “geert” wrote:

>
> Hi,
>
> i’ve been noodling around briefly in Max/Msp on and off for some time now,
> looking for the best environment to do/study audio dsp.
>
> what i was poundering about.
>
> isn’t it very cumbersome to rapidly implement formula’s in Max/Msp? i mean the
> +, *, / stuff etc.
>
> wouldn’t it be better to have some modules were you can WRITE some code blocks
> and use those as ‘blackboxes’ to do specific DSP or other tasks. maybe were
> you can define the frequency or cpu intensity necessary for each block (audio
> vs modation signals)…
>
> just a thought…think it would make serious programming in this environment a
> lot more elegant.
>
> what do you think?
>
>

Cheers
Gary Lee Nelson
Oberlin College
http://www.timara.oberlin.edu/GaryLeeNelson

#106541
Jun 11, 2007 at 2:26pm

#106542
Jun 11, 2007 at 2:45pm

Well the point is you are supposed to build these
things. Max provides a basic toolkit that you can
build these things with. If you want some thing
that does high level synthesis, and are not interested
in building these modules your self, I would go with
Reaktor.

Anthony

—– Original Message —–
From: Gary Lee Nelson
Date: Monday, June 11, 2007 9:06 am
Subject: Re: [maxmsp] i was thinking
To: Max

> csound~ and rtcmix~ are both implemented in msp. Also expr~ can
> reduce the
> number of basic math objects in a patch. supercollider
> understands both
> midi and OSC – a bit more complicated interface but sc’s synthesis
> languageis super.
>
>
> On 6/11/07 9:30 AM, “geert” wrote:
>
> >
> > Hi,
> >
> > i’ve been noodling around briefly in Max/Msp on and off for some
> time now,
> > looking for the best environment to do/study audio dsp.
> >
> > what i was poundering about.
> >
> > isn’t it very cumbersome to rapidly implement formula’s in
> Max/Msp? i mean the
> > +, *, / stuff etc.
> >
> > wouldn’t it be better to have some modules were you can WRITE
> some code blocks
> > and use those as ‘blackboxes’ to do specific DSP or other tasks.
> maybe were
> > you can define the frequency or cpu intensity necessary for each
> block (audio
> > vs modation signals)…
> >
> > just a thought…think it would make serious programming in this
> environment a
> > lot more elegant.
> >
> > what do you think?
> >
> >
>
>
> Cheers
> Gary Lee Nelson
> Oberlin College
> http://www.timara.oberlin.edu/GaryLeeNelson
>
>
>

#106543
Jun 11, 2007 at 2:56pm

nono, i indeed have the intention to actually have a ‘quick’ and rather easy platform to implement (mainly) dsp code. a way to translate the theory/math to some code for self-education (and who knows what else in the future).

it’s pleasing to hear there are possibilities with java extensions etc.

but to be to the point: would it be for example possible to produce an oscillator from ground up in MSP based on some math algorithm…

i guess if stuff like that is possible, i need not look any further and can start building ;-)

#106544
Jun 11, 2007 at 3:21pm

Quote: GD wrote on Mon, 11 June 2007 16:56
—————————————————-
> nono, i indeed have the intention to actually have a ‘quick’ and rather easy platform to implement (mainly) dsp code. a way to translate the theory/math to some code for self-education (and who knows what else in the future).
>
> it’s pleasing to hear there are possibilities with java extensions etc.
>
> but to be to the point: would it be for example possible to produce an oscillator from ground up in MSP based on some math algorithm…
>
> i guess if stuff like that is possible, i need not look any further and can start building ;-)
>
>
—————————————————-

Unfortunately there is no interface similar to matlab or maple for people that do know math and signal theory but have no experience with programming or scripting.

There are lots of possibilities to build your own functionality in Max if you are not used to programming or scripting but you’ll first have to get used to the max idiom, i.e. objects and lines.

Note that before you can make real complex patches (that work) you’ll need to know how max is built and why it is built that way. In the long run you’ll have to become a dsp programmer, as you would in any environment where you need a computer to do dsp.

The other way round: look at max as a complete control/sound/visuals library for C/C++ and program your own black boxes within this environment. But that assumes you already are a dsp programmer who’s looking for a comprehensive all-in-one data/dsp/video lib. As far as I know there is no plain code library available for C++ as complete and consistent as max/msp/jitter.

Mattijs

#106545
Jun 11, 2007 at 3:35pm

well icould do it in c/c++, but i think i would be confronted with the fact i first have to program a framework that allows easy acccess to the audiocard or graphics card before i actually can make my own eg oscillator to produce sound.

the programming part isn’t as much an issue (it is the means to let my computer execute the math and algorithms i want to study), but for now i’m not interested in the actual building of a framework.

unless it would be easy to compile code via the VST SDK for example, i’d rather use MAX/MSP (more realtime/direct)… or matlab maybe?

anyway i’ll try it in MAX/MSP and see how that goes ;-)

thx

#106546
Jun 11, 2007 at 4:07pm

Quote: GD wrote on Mon, 11 June 2007 17:35
—————————————————-
> well icould do it in c/c++, but i think i would be confronted with the fact i first have to program a framework that allows easy acccess to the audiocard or graphics card before i actually can make my own eg oscillator to produce sound.
>
> the programming part isn’t as much an issue (it is the means to let my computer execute the math and algorithms i want to study), but for now i’m not interested in the actual building of a framework.

Why would you program your own framework? You would always take an existing library such as portaudio and implement your math with that api, right? In that aspect Max is a great alternative, especially if you want to combine audio and video and have a lot of readymade tools available.

>
> unless it would be easy to compile code via the VST SDK for example, i’d rather use MAX/MSP (more realtime/direct)… or matlab maybe?

I’d rather use MaxMSP.. :) The sdk contains pretty fine documentation and there are a lot of people on this list who are willing to help.

>
> anyway i’ll try it in MAX/MSP and see how that goes ;-)

good luck ;)

>
> thx
—————————————————-

#106547
Jun 11, 2007 at 4:25pm

>the programming part isn’t as much an issue (it is the means to let
>my computer execute the math and algorithms i want to study), but
>for now i’m not interested in the actual building of a framework.

You could give Faust a look:

http://faust.grame.fr/

It allows you to compile (into native C++) Max/MSP externals, in
addition to several other platforms…

Dan

Dan Nigrin
Defective Records
202 Hack / PC-1600 User / VSTi Host / OMS Convert / Jack OS X / Major
Malfunction
http://www.defectiverecords.com

http://www.jackosx.com

#106548
Jun 12, 2007 at 8:20am

Wow, that looks very interesting.

Pity that as far as I can see there is nothing for the impatient web 2.0 generation to doubleclick and see something happening. I’ll have to consciously plan some time to read that docs etc.

Mattijs

Quote: Dan Nigrin wrote on Mon, 11 June 2007 18:25
—————————————————-
> >the programming part isn’t as much an issue (it is the means to let
> >my computer execute the math and algorithms i want to study), but
> >for now i’m not interested in the actual building of a framework.
>
> You could give Faust a look:
>
> http://faust.grame.fr/
>
> It allows you to compile (into native C++) Max/MSP externals, in
> addition to several other platforms…
>
> Dan
> —
> Dan Nigrin
> Defective Records
> 202 Hack / PC-1600 User / VSTi Host / OMS Convert / Jack OS X / Major
> Malfunction
> http://www.defectiverecords.com
> http://www.jackosx.com
>
>
—————————————————-

#106549
Jun 12, 2007 at 8:26am

indeed, this Faust project looks very interesting to me!

and there is a 75p tutorial to get you started too.

and of course the ability to port to different environments (exe, max, vst etc.) is a BIG +.

it will take some time to investigate…

so little time and so much to do!

cheers

#106550
Jun 12, 2007 at 9:25am

Mattijs Kneppers schrieb:
> Unfortunately there is no interface similar to matlab or maple for
> people that do know math and signal theory but have no experience
> with programming or scripting.

When I met Bill Sethares, he had a bunch of MathLab programs, and was
showing me all the visualisation and sounds he made with it.
We ported all to java to run it in Max, the code looks pretty similar,
and there was no problem whatsoever to visualise the results as well in
Max. Only in the beginning its not as automatic as in MathLab, but as
soon you know how to do it, you never switch back, because in Max all
the results are in real time…

And now I have methods to visualise fft frames which are actually better
than in MathLab, as I can see the results while listen at the same time…

Max is not about using a tool, its about creating a tool and then using
it…

To do formulas and encapsulate them isn’t hard at all, all you where
asking for does exist in Max. You’ll be delighted…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com

#106551
Jun 12, 2007 at 12:10pm

Yes, the Faust site could be made a little “sexier” so people could
realize the value right away.

Anyway, here’s a little tutorial for those interested in getting
started in using Faust to build Max/MSP externals – many thanks to
Stephane Letz who helped me with this initially. This is for OS X
only, though I’m sure it can be extrapolated to Windows:

1) Configure the Max/MSP SDK to be used with Faust (needs to be done
only *once*)

- download the Max/MSP SDK to your machine
- manually copy the “c74support” folder from the SDK package into
/usr/local/include .

2) To start with, it’s easiest to use the online Faust compiler:

- go to http://faust.grame.fr/ , and then navigate to the “Software Catalog”

- pick an example to build – you won’t see any GUI in your compiled
MSP external, but it will have appropriate inlets. For example, I
chose the “echo” example – the final Max/MSP external object will
have an inlet for audio, another for feedback, and another for
feedback duration, and an outlet for the echo’d audio.

- click the “code” link for the example you selected. You will then
be brought to the online Faust compiler page

- on that compiler page, you will see the Faust code in the main window

- be sure that the name supplied in the Compilation section is what
you want your external to be called

- choose the Architecture in the Compilation section (max-msp in this case)

- click the “See C++ code” box on the left (wait some time….)

- you’ll now be able to see the raw C++ code in the window. Click
the “Get the source package” to get the code to be compiled on your
machine.

- un-tar the downloaded file, and get a resulting folder

- open a Terminal window, cd inside the folder you got in the last
step, and type “make” (no quotes) followed by return

- you should now have the compiled max/msp external in the folder above!

Let me know if this gets you going…

Dan

At 10:20 AM +0200 6/12/07, Mattijs Kneppers wrote:
>Wow, that looks very interesting.
>
>Pity that as far as I can see there is nothing for the impatient web
>2.0 generation to doubleclick and see something happening. I’ll have
>to consciously plan some time to read that docs etc.
>
>Mattijs
>
>Quote: Dan Nigrin wrote on Mon, 11 June 2007 18:25
>—————————————————-
>> >the programming part isn’t as much an issue (it is the means to let
>> >my computer execute the math and algorithms i want to study), but
>> >for now i’m not interested in the actual building of a framework.
>>
>> You could give Faust a look:
>>
> > http://faust.grame.fr/
>>
>> It allows you to compile (into native C++) Max/MSP externals, in
> > addition to several other platforms…


Dan Nigrin
Defective Records
202 Hack / PC-1600 User / VSTi Host / OMS Convert / Jack OS X / Major
Malfunction
http://www.defectiverecords.com

http://www.jackosx.com

#106552
Jun 12, 2007 at 2:50pm

Dan Nigrin schrieb:
> Let me know if this gets you going…

Yes, it works as advertised, I compiled successfully a faust DSP object
into a MSP external…

Now Faust is interesting…

I downloaded the faust 0.9.9.1 package, following the instructions,
typed make…
and it compiled fine.
typed su, it asked for the password, I typed the password, it said sorry…

I have no clue why my password was rejected, I triple checked, it was
always correct… I have no clue how to proceed, on my computer (OS X
10.4.9) there is only one single password, I don’t know which password
is expected from su. (I do remember to have typed su commands before
without problem…)

Ahh.. it feels good to be able to ask newbie questions on this list… ;-)

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com

#106553
Jun 12, 2007 at 3:18pm

At 4:50 PM +0200 6/12/07, Stefan Tiedje wrote:
>Dan Nigrin schrieb:
>>Let me know if this gets you going…
>
>Yes, it works as advertised, I compiled successfully a faust DSP
>object into a MSP external…
>
>Now Faust is interesting…
>
>I downloaded the faust 0.9.9.1 package, following the instructions,
>typed make…
>and it compiled fine.
>typed su, it asked for the password, I typed the password, it said sorry…
>
>I have no clue why my password was rejected, I triple checked, it
>was always correct… I have no clue how to proceed, on my computer
>(OS X 10.4.9) there is only one single password, I don’t know which
>password is expected from su. (I do remember to have typed su
>commands before without problem…)

Not sure on this – I never used the local Faust compilation, I’ve
always used the web-based one…. Sorry!

Dan

Dan Nigrin
Defective Records
202 Hack / PC-1600 User / VSTi Host / OMS Convert / Jack OS X / Major
Malfunction
http://www.defectiverecords.com

http://www.jackosx.com

#106554
Jun 12, 2007 at 3:21pm

On 12 juin 07, at 16:50, Stefan Tiedje wrote:

> I have no clue why my password was rejected, I triple checked, it was
> always correct… I have no clue how to proceed, on my computer (OS X
> 10.4.9) there is only one single password, I don’t know which password
> is expected from su. (I do remember to have typed su commands before
> without problem…)

Maybe it was sudo?

In a shell su asks for the root password, not for an administrator
password, which is “undefined” by default. To define root’s password on
OSX, you can use NetInfo Manager, or the Password reset function when
booting from an OSX install CD.

_____________________________
Patrick Delges

Centre de Recherches et de Formation Musicales de Wallonie asbl

http://users.skynet.be/crfmw/max

#106555
Jun 12, 2007 at 3:45pm

Patrick Delges schrieb:
> Maybe it was sudo?
>
> In a shell su asks for the root password, not for an administrator
> password, which is “undefined” by default. To define root’s password on
> OSX, you can use NetInfo Manager, or the Password reset function when
> booting from an OSX install CD.

Yes, mixed this up, in the past I was using sudo, and “sudo make
install” did the trick…

Thanks


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com

#106556
Jun 12, 2007 at 3:47pm

12/06/07, kl. 14:10 +0200 , skrev Dan Nigrin:

>- you should now have the compiled max/msp external in the folder above!
>
>
>
>Let me know if this gets you going…

well, not really. I get to the point where I have the compiled external
(I call it faust.echo~.mxo), move it to a folder in the search path,
open max, open the external in an object box – and max crashes!

/J

#106557
Jun 12, 2007 at 3:48pm

At 5:21 PM +0200 6/12/07, Patrick Delges wrote:
>On 12 juin 07, at 16:50, Stefan Tiedje wrote:
>
>>I have no clue why my password was rejected, I triple checked, it
>>was always correct… I have no clue how to proceed, on my computer
>>(OS X 10.4.9) there is only one single password, I don’t know which
>>password is expected from su. (I do remember to have typed su
>>commands before without problem…)
>
>Maybe it was sudo?
>
>In a shell su asks for the root password, not for an administrator
>password, which is “undefined” by default. To define root’s password
>on OSX, you can use NetInfo Manager, or the Password reset function
>when booting from an OSX install CD.

Yeah, but compiling a Faust external should not require you to do
such low system level stuff?

Dan

Dan Nigrin
Defective Records
202 Hack / PC-1600 User / VSTi Host / OMS Convert / Jack OS X / Major
Malfunction
http://www.defectiverecords.com

http://www.jackosx.com

#106558
Jun 12, 2007 at 4:03pm

> >Let me know if this gets you going…
>
>well, not really. I get to the point where I have the compiled external
>(I call it faust.echo~.mxo), move it to a folder in the search path,
>open max, open the external in an object box – and max crashes!

Weird – I named mine echo~.mxo , I wonder if the extra “.” gets it
confused? Also what platform? I tried on OS X intel…

Dan

Dan Nigrin
Defective Records
202 Hack / PC-1600 User / VSTi Host / OMS Convert / Jack OS X / Major
Malfunction
http://www.defectiverecords.com

http://www.jackosx.com

#106559
Jun 12, 2007 at 4:04pm

while you always have to work with 32 bit you can downsample modulation signals when needed.

you have to create a patcher, save it to disk, and open it using [poly~].
the patch is now treated as some kind of subcircuit which allows to change the rate – for example by “down 4″, guess what it does.

#106560
Jun 12, 2007 at 4:14pm

>>
>> well, not really. I get to the point where I have the compiled >> external
>> (I call it faust.echo~.mxo), move it to a folder in the search >> path,
>> open max, open the external in an object box – and max crashes!
>
> Weird – I named mine echo~.mxo , I wonder if the extra “.” gets
> it
> confused? Also what platform? I tried on OS X intel…

PPC, PowerBook G4 1.33 Ghz, Mac OS 10.4.9, MaxMSP 4.6.3
I tried again without the extra “.” some problem as before!

/J

#106561
Jun 12, 2007 at 4:16pm

Dan Nigrin schrieb:
> Yeah, but compiling a Faust external should not require you to do such
> low system level stuff?

But the Faust compiler is delivered as source code only as it seems, and
will be called in the terminal…

Still strugglin’, but advanced already a bit…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com

#106562
Jun 12, 2007 at 4:25pm

At 6:16 PM +0200 6/12/07, Stefan Tiedje wrote:
>Dan Nigrin schrieb:
>>Yeah, but compiling a Faust external should not require you to do
>>such low system level stuff?
>
>But the Faust compiler is delivered as source code only as it seems,
>and will be called in the terminal…
>
>Still strugglin’, but advanced already a bit…

Why are you focusing on installing the local compiler at this point?
I’ve not found any drawbacks in using the web-based one, though I’ll
qualify that by saying I’ve not done an enormous amount of Faust’ing
to date…

Dan

Dan Nigrin
Defective Records
202 Hack / PC-1600 User / VSTi Host / OMS Convert / Jack OS X / Major
Malfunction
http://www.defectiverecords.com

http://www.jackosx.com

#106563
Jun 12, 2007 at 4:27pm

>PPC, PowerBook G4 1.33 Ghz, Mac OS 10.4.9, MaxMSP 4.6.3
>I tried again without the extra “.” some problem as before!

I’ll give a try on a PPC machine when I get a chance…

Dan

Dan Nigrin
Defective Records
202 Hack / PC-1600 User / VSTi Host / OMS Convert / Jack OS X / Major
Malfunction
http://www.defectiverecords.com

http://www.jackosx.com

#106564
Jun 12, 2007 at 10:29pm

Dan Nigrin schrieb:
> Why are you focusing on installing the local compiler at this point?
> I’ve not found any drawbacks in using the web-based one, though I’ll
> qualify that by saying I’ve not done an enormous amount of Faust’ing to
> date…

I do most of my work in the metro, there is no internet… ;-)
But it seems to run now, I compiled all the examples just fine, now I
have to find out how to get my own stuff compiled.
Faust seems to be a weird language, its half way MSP without our beloved
gui. The patch cords are restricted to certain architectures, and
written in plain text. But if you have a working prototype in Max, it
might be easy to translate that into Faust and turn it into a real
external. I’ll see how effective the result would be…
The examples so far are pretty basic, nothing sophisticated there…
I’ll see how far I can get…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com

#106565
Jun 13, 2007 at 6:58pm

12/06/07, kl. 18:27 +0200 , skrev Dan Nigrin:

>>PPC, PowerBook G4 1.33 Ghz, Mac OS 10.4.9, MaxMSP 4.6.3
>>I tried again without the extra “.” some problem as before!
>
>I’ll give a try on a PPC machine when I get a chance…
>
I got it working now. I made a stupid mistake, not moving the files in
the MaxMSP UB SDK from the CopyContentsToLibraryFrameworksFolder, and
there was already an earlier version there….. Embarrassing, but anyway
I’m glad that it works now!

/J

#106566

You must be logged in to reply to this topic.