CNMAT new download page

Sep 13, 2006 at 8:53am

CNMAT new download page

CNMAT has released a brand new, clear & handy, download page where it
appears that 99% of their externals are now compiled for Windows,
*including* [SDIF-Buffer] & [SDIF-Tuples] ! It’s awesome. Thanks to
CNMAT :-)

http://www.cnmat.berkeley.edu/MAX/downloads/

cheers

f.e


f.e chanfrault | aka | personal computer music
> >>>>>> http://www.personal-computer-music.com
> >>>>>> |sublime music for a desperate people|

#27603
Sep 13, 2006 at 4:36pm

The Windows zip file does not work.

Anthony

—– Original Message —–
From: “f.e”

Date: Wednesday, September 13, 2006 3:54 am
Subject: [maxmsp] CNMAT new download page

> CNMAT has released a brand new, clear & handy, download page where
> it
> appears that 99% of their externals are now compiled for Windows,
> *including* [SDIF-Buffer] & [SDIF-Tuples] ! It’s awesome. Thanks
> to
> CNMAT :-)
>
> http://www.cnmat.berkeley.edu/MAX/downloads/
>
> cheers
>
> f.e
>
> —
> f.e chanfrault | aka | personal computer music
> > >>>>>> http://www.personal-computer-music.com
> > >>>>>> |sublime music for a desperate people|
>

#83593
Sep 13, 2006 at 5:07pm

omfg this is so awesome!

#83594
Sep 14, 2006 at 8:35am

Doch, they do.

f.e

f.e chanfrault | aka | personal computer music
> >>>>>> http://www.personal-computer-music.com
> >>>>>> |sublime music for a desperate people|

apalomba@austin.rr.com wrote:
> The Windows zip file does not work.
>
>
>
> Anthony
>
>
>
> —– Original Message —–
> From: “f.e”

> Date: Wednesday, September 13, 2006 3:54 am
> Subject: [maxmsp] CNMAT new download page
>
>
>> CNMAT has released a brand new, clear & handy, download page where
>> it
>> appears that 99% of their externals are now compiled for Windows,
>> *including* [SDIF-Buffer] & [SDIF-Tuples] ! It’s awesome. Thanks
>> to
>> CNMAT :-)
>>
>> http://www.cnmat.berkeley.edu/MAX/downloads/
>>
>> cheers
>>
>> f.e
>>
>> —
>> f.e chanfrault | aka | personal computer music
>>
>>>>>>>>> http://www.personal-computer-music.com
>>>>>>>>> |sublime music for a desperate people|
>>>>>>>>>
>>
>>
>
>

#83595
Sep 14, 2006 at 8:33pm

Is mlp (multi-layer perceptron) now considered obsolete? Too bad, I’m
still using it.

Georg

On Sep 13, 2006, at 10:53 AM, f.e wrote:

> CNMAT has released a brand new, clear & handy, download page where
> it appears that 99% of their externals are now compiled for
> Windows, *including* [SDIF-Buffer] & [SDIF-Tuples] ! It’s awesome.
> Thanks to CNMAT :-)
>
> http://www.cnmat.berkeley.edu/MAX/downloads/
>
> cheers
>
> f.e
>
> —
> f.e chanfrault | aka | personal computer music
>> >>>>>> http://www.personal-computer-music.com
>> >>>>>> |sublime music for a desperate people|

#83596
Sep 15, 2006 at 8:55am

Hi!

I’m prepearing a neural net external library with various families of
nets. You’ll have something soon. I just need to find the time to
finish it.

O./

#83597
Sep 15, 2006 at 12:44pm

This is very nice. Now there is no excuse to implement all those interesting resynthesis and morphing applications I’ve been wanting to make :)

Funny that I find SPEAR (http://www.klingbeil.com/spear/) to look like the most promising analysis tool but there are not much references to it in the CNMAT circumference.. any idea why that is?

Anyone heard of an analyser external for max by any chance? ;)

Best,
Mattijs

#83598
Sep 15, 2006 at 1:03pm

You should be able to save SPDIF data with SPEAR
and then load it in Max using the CNMAT externals.

Anthony

—– Original Message —–
From: “Mattijs Kneppers”
To:
Sent: Friday, September 15, 2006 7:44 AM
Subject: [maxmsp] Re: CNMAT new download page

>
> This is very nice. Now there is no excuse to implement all those
interesting resynthesis and morphing applications I’ve been wanting to make
:)
>
> Funny that I find SPEAR (http://www.klingbeil.com/spear/) to look like the
most promising analysis tool but there are not much references to it in the
CNMAT circumference.. any idea why that is?
>
> Anyone heard of an analyser external for max by any chance? ;)
>
> Best,
> Mattijs

#83599
Sep 15, 2006 at 1:17pm

Quote: Anthony Palomba wrote on Fri, 15 September 2006 15:03
—————————————————-
> You should be able to save SPDIF data with SPEAR
> and then load it in Max using the CNMAT externals.
>

I assumed so, that’s probably what I’ll do first. Just figured there should be references to spear all over the website of cnmat but there aren’t.

And wouldn’t it be ultimate luxury to be able to record and automatically analyze a sound all within max? :)

#83600
Sep 15, 2006 at 1:56pm

That’s probably a better approach, but if you feel like experimenting we
made a few SPEAR-resynthesis externals (definitely not ready for
prime-time!) in class last year. Probably going to work on a few more
this year:

http://music.columbia.edu/cmc/courses/g6610/fall2005/week13/index.html

brad

http://music.columbia.edu/~brad

PS: Michael K. has joined the Yale faculty this year — go Michael go!

On Fri, 15 Sep 2006, Anthony Palomba wrote:

> You should be able to save SPDIF data with SPEAR
> and then load it in Max using the CNMAT externals.
>
>
>
> Anthony
>
>
>
> —– Original Message —–
> From: “Mattijs Kneppers”
> To:
> Sent: Friday, September 15, 2006 7:44 AM
> Subject: [maxmsp] Re: CNMAT new download page
>
>
>>
>> This is very nice. Now there is no excuse to implement all those
> interesting resynthesis and morphing applications I’ve been wanting to make
> :)
>>
>> Funny that I find SPEAR (http://www.klingbeil.com/spear/) to look like the
> most promising analysis tool but there are not much references to it in the
> CNMAT circumference.. any idea why that is?
>>
>> Anyone heard of an analyser external for max by any chance? ;)
>>
>> Best,
>> Mattijs
>
>

#83601
Sep 15, 2006 at 2:23pm

Quote: Bradford Garton wrote on Fri, 15 September 2006 15:56
—————————————————-
> That’s probably a better approach, but if you feel like experimenting we
> made a few SPEAR-resynthesis externals (definitely not ready for
> prime-time!) in class last year.

Surely interesting.. Resynthesizing is one option, but has any of you heard of (or participated in) a project where this data was used to do some intelligent feature-recognition for (for example) a feature-based morph between sounds?

Mattijs

#83602
Sep 15, 2006 at 2:50pm

#83603
Sep 15, 2006 at 7:12pm

On Fri, 15 Sep 2006, Mattijs Kneppers wrote:

> Surely interesting.. Resynthesizing is one option, but has any of you
> heard of (or participated in) a project where this data was used to do
> some intelligent feature-recognition for (for example) a feature-based
> morph between sounds?

You might want to look at some software we did in a joint
music/engineering grad seminar here last year:

http://labrosa.ee.columbia.edu/meapsoft/

It’s not exactly what you describe, but the feature-extraction techniques
are pretty snazzy. All in java, so maybe not too terribly difficult to
integrate into mxj.

brad

http://music.columbia.edu/~brad

#83604
Sep 16, 2006 at 7:51am

I downloaded the OSX version of the objects and Max/MSP crashed many times while doing the Spectral Synthesis Tutorials. I’m using a white Macbook with its native sound card.
Awesome objects by the way!
Best,

Martin

#83605
Sep 16, 2006 at 7:42pm

It is the resonators~ object that causes Max to crash.

best,
Martin

#83606
Sep 17, 2006 at 4:09pm

—————————————————-
> Funny that I find SPEAR (http://www.klingbeil.com/spear/) to look like the most promising analysis tool but there are not much references to it in the CNMAT circumference.. any idea why that is?
—————————————————-

We tend to use the IRCAM analysers at CNMAT, for historical reasons. However, I’ve used SPEAR a fair bit and am very happy with it. SDIF files open fine with SDIF-buffer. Find it here:

http://www.klingbeil.com/spear/

I plan to expand the Tutorials with comments on analysis in the near future. Realtime analysis is much trickier than using SPEAR or AddAn or Loris — if you have access to the iana~ object, of IRCAM, that is promising.

mz

#83607
Sep 17, 2006 at 4:12pm

Quote: Martin wrote on Sat, 16 September 2006 12:42
—————————————————-
> It is the resonators~ object that causes Max to crash.
—————————————————-

Hi Martin-

Could you give me any more specifics? I’m running a Macbook Pro and not able to reproduce your problem. Is it just, 1) make resonators~, 2) enjoy crash?

mz

#83608
Sep 17, 2006 at 5:12pm

> —————————————————-
> > It is the resonators~ object that causes Max to crash.
> —————————————————-

OK, I’ve got it. resonators~ crashes when closing the patch with audio on.

More soon…

mz

#83609
Sep 18, 2006 at 9:43am

On 17-Sep-2006, at 19:12, mzed wrote:

> OK, I’ve got it. resonators~ crashes when closing the patch with
> audio on.

Are you calling dsp_free() at the beginning, middle, or end of your
deallocation method? Cf. < http://www.synthesisters.com/hypermail/max-
msp/Mar05/23158.html>. I would have preferred to cite David’s
original message explaining correct deallocation strategy, but I’m
not finding it quickly.

————– http://www.bek.no/~pcastine/Litter/ ————-
Peter Castine +–> Litter Power & Litter Bundle for Jitter
Universal Binaries on the way
iCE: Sequencing, Recording &
Interface Building for |home | chez nous|
Max/MSP Extremely cool |bei uns | i nostri|
http://www.dspaudio.com/ http://www.castine.de

#83610
Sep 19, 2006 at 11:03am

Quote: mzed wrote on Sun, 17 September 2006 18:09
—————————————————-
> We tend to use the IRCAM analysers at CNMAT, for historical reasons. However, I’ve used SPEAR a fair bit and am very happy with it. SDIF files open fine with SDIF-buffer.

Great, that means it was not a bad idea to put some time in SPEAR :)

>
> I plan to expand the Tutorials with comments on analysis in the near future. Realtime analysis is much trickier than using SPEAR or AddAn or Loris

I bet. But only doing offline analysis in an external, have it fire a bang and load SDIF data in SDIF-buffer when done would be crazy too :)

– if you have access to the iana~ object, of IRCAM, that is promising.

I am afraid I don’t have very much contact with IRCAM. Met a few ppl during 2 meetings of NAG (Nederlands Akoestisch Gezelschap) I attended but that’s about it.

>
> mz
—————————————————-

#83611
Sep 19, 2006 at 4:33pm

> > —————————————————-
> > > It is the resonators~ object that causes Max to crash.
> > —————————————————-
>
> OK, I’ve got it. resonators~ crashes when closing the patch with audio on.
>
> More soon…
>

I’ve posted an updated version of my tutorials that turns off DSP before automagically disposing of patches. This is a workaround for the resonators~ crashes.

http://www.cnmat.berkeley.edu/MAX/downloads/

Unfortunately the resonators~ bug is a little more involved than the dsp_free() problem that several have been kind to point out.

I’ve just verified that AudioSculpt 2.6.1 is writing SDIFs in a way that the CNMAT externals are unable to read.

While on the subject of anaylsis, the idea of an external that does a non-realtime analysis in Max, and then spits it out when finished, is pretty interesting. That really isn’t Max’s Modus Operandi, though. A clever person could record incoming audio to a soundfile, use shell or applescript to open and analyse that in another application, save that data to an SDIF, and open it in Max. Knowing when the other app is done could be tricky.

Also, one should know that the analyses I provided in the tutorials took a fair amount of hand tweaking to get to the point they are at.

mzed

#83612
Sep 19, 2006 at 7:14pm

mzed wrote:
> While on the subject of anaylsis, the idea of an external that does a
> non-realtime analysis in Max, and then spits it out when finished, is
> pretty interesting. That really isn’t Max’s Modus Operandi, though.

But its exactly what would be needed to close the gap between the power
of nonrealtime processing with Max. One approach could be to use mxj. It
should be easy for an external to just write the calculation into a
buffer~ and bang when ready, or even spit out a “position” value how far
it got so far. You can play parts of a buffer before its finished
writing the result into it. All this can be done in a low priority
thread… (or on a second processor)

Stefan


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

#83613
Sep 20, 2006 at 4:07am

On Tue, 19 Sep 2006, Stefan Tiedje wrote:

> But its exactly what would be needed to close the gap between the power of
> nonrealtime processing with Max. One approach could be to use mxj. It should
> be easy for an external to just write the calculation into a buffer~ and bang
> when ready, or even spit out a “position” value how far it got so far. You
> can play parts of a buffer before its finished writing the result into it.
> All this can be done in a low priority thread… (or on a second processor)

Has anyone managed to do this, not just in mxj necessarily but in a
generic external? I tried fooling with some threads and semaphores to get
[maxlisp] a little less brittle (tail recursion does really bad things to
any semblance of real-time), but I continued to get what appeared to be
timer crashes. But I also don’t fully understand how the various max
thread priorities work.

brad

http://music.columbia.edu/~brad

#83614
Sep 20, 2006 at 9:17am

Yes, we did an external that analyses an audio buffer in non-realtime. It has to be done in the dsp thread because you need to guarantee access to the buffer~ you work on, so the trick is to pick an arbitrary amount of samples to process every dsp call.

Up till now we didn’t find a way to automatically increase this chunk size to utilize the processor maximally without causing clicks, but since we don’t need the results in a fixed amount of time that doesn’t form a real problem.

Mattijs

#83615
Sep 20, 2006 at 12:16pm

#83616
Sep 20, 2006 at 8:28pm

On Wed, 20 Sep 2006, Mattijs Kneppers wrote:

> so the trick is to pick an arbitrary amount
> of samples to process every dsp call.

I wish there were a way to fork and slice a low priority (i.e.
interruptible by Max/MSP if necessary) thread so that all you would need
to do is let it run and set a semaphore for when it finished. For
example, suppose I have recursive function “doitall()” to calculate some
arbitrary fractal gunk, and I don’t know exactly how long it will take to
finish the calculation (or if it ever will, thanks Alan Turing). I would
like to simply kick it off and not worry about it until I see a
“calc_finished” flag set, and the CPU will work on it whenever it can grab
free cycles.

Is this possible? I tried a few initial experiments awhile ago, but I did
get crashes that suggested that my lower-priority thread wasn’t
relinquishing resources like I had hoped it would.

brad

http://music.columbia.edu/~brad

#83617
Sep 20, 2006 at 8:28pm

Continued this on the dev list…

brad

http://music.columbia.edu/~brad

On Wed, 20 Sep 2006, Mattijs Kneppers wrote:

>
> Yes, we did an external that analyses an audio buffer in non-realtime. It has to be done in the dsp thread because you need to guarantee access to the buffer~ you work on, so the trick is to pick an arbitrary amount of samples to process every dsp call.
>
> Up till now we didn’t find a way to automatically increase this chunk size to utilize the processor maximally without causing clicks, but since we don’t need the results in a fixed amount of time that doesn’t form a real problem.
>
> Mattijs
>

#83618
Sep 20, 2006 at 9:25pm

On Sep 20, 2006, at 1:28 PM, Bradford Garton wrote:

> I wish there were a way to fork and slice a low priority (i.e.
> interruptible by Max/MSP if necessary) thread so that all you would
> need to do is let it run and set a semaphore for when it finished.
> For example, suppose I have recursive function “doitall()” to
> calculate some arbitrary fractal gunk, and I don’t know exactly how
> long it will take to finish the calculation (or if it ever will,
> thanks Alan Turing). I would like to simply kick it off and not
> worry about it until I see a “calc_finished” flag set, and the CPU
> will work on it whenever it can grab free cycles.
>
> Is this possible? I tried a few initial experiments awhile ago,
> but I did get crashes that suggested that my lower-priority thread
> wasn’t relinquishing resources like I had hoped it would.

Have you checked out the simplethread examples on my dev page? I
imagine so, but just in case:

http://www.cycling74.com/twiki/bin/view/Share/JoshuaKitClayton

The thread created inherits the priority of the spawning thread by
default. In systhread_create, we currenlty ignore the priority arg.
If you want to set priority levels of a thread creed with our
systhread API to something else, you’ll need to do so in your
threadproc using the platform specific APIs w/r/t thread priority–
e.g. pthread_attr calls or MPSetTaskWeight on OS X, and
SetThreadPriority on XP. Or you could use defer_low() or some other
mechanism to set the thread of execution when spawned to some other
thread of the priority you’re looking for.

In the systhread API, there’s also conditional variables if you want
to use them instead of the other max scheduler/queue facilities.
There’s no examples of this, but it’s essentially similar to
pthreads. If you get a simple example demonstrating any obstacles you
are having, we can comment on how to achieve what you’re looking to do.

-Joshua

#83619
Sep 21, 2006 at 8:07am

> While on the subject of anaylsis, the idea of an external that does a non-realtime analysis in Max, and then spits it out when finished, is pretty interesting. That really isn’t Max’s Modus Operandi, though. A clever person could record incoming audio to a soundfile, use shell or applescript to open and analyse that in another application, save that data to an SDIF, and open it in Max. Knowing when the other app is done could be tricky.
>

I’m starting to feel like a FTM evangelist, but Diemo Schwarz posted an
abstraction on the FTM mailing list a while ago named gbr.fmat.slice
doing non-real-time analysis using FTM and Gabor. The FTM wiki has
several examples of how to do analysis in SDIF format using FTM and Gabor:

*http://freesoftware.ircam.fr/wiki/index.php/FTMExamplePatches

Best,
Trond
**

*

#83620
Sep 24, 2006 at 11:49pm

Joshua –

Sorry for my more-than-normal e-mail delay; it’s *that* time of year…

It’s been awhile since I was poking at this, but essentially I was unable
to find the correct priority setting to prevent what seemed to be
timer-related crashes. If I get a chance, I’ll try to come up with a
really stripped version of a threaded process that would do this.

Probably not for awhile though, sorry!

brad

http://music.columbia.edu/~brad

On Wed, 20 Sep 2006, Joshua Kit Clayton wrote:

>
> On Sep 20, 2006, at 1:28 PM, Bradford Garton wrote:
>
>> I wish there were a way to fork and slice a low priority (i.e.
>> interruptible by Max/MSP if necessary) thread so that all you would need to
>> do is let it run and set a semaphore for when it finished. For example,
>> suppose I have recursive function “doitall()” to calculate some arbitrary
>> fractal gunk, and I don’t know exactly how long it will take to finish the
>> calculation (or if it ever will, thanks Alan Turing). I would like to
>> simply kick it off and not worry about it until I see a “calc_finished”
>> flag set, and the CPU will work on it whenever it can grab free cycles.
>>
>> Is this possible? I tried a few initial experiments awhile ago, but I did
>> get crashes that suggested that my lower-priority thread wasn’t
>> relinquishing resources like I had hoped it would.
>
> Have you checked out the simplethread examples on my dev page? I imagine so,
> but just in case:
>
> http://www.cycling74.com/twiki/bin/view/Share/JoshuaKitClayton
>
> The thread created inherits the priority of the spawning thread by default.
> In systhread_create, we currenlty ignore the priority arg. If you want to set
> priority levels of a thread creed with our systhread API to something else,
> you’ll need to do so in your threadproc using the platform specific APIs
> w/r/t thread priority–e.g. pthread_attr calls or MPSetTaskWeight on OS X,
> and SetThreadPriority on XP. Or you could use defer_low() or some other
> mechanism to set the thread of execution when spawned to some other thread of
> the priority you’re looking for.
>
> In the systhread API, there’s also conditional variables if you want to use
> them instead of the other max scheduler/queue facilities. There’s no examples
> of this, but it’s essentially similar to pthreads. If you get a simple
> example demonstrating any obstacles you are having, we can comment on how to
> achieve what you’re looking to do.
>
> -Joshua

#83621

You must be logged in to reply to this topic.