Instrument that feeds SDIF data to an array of sine oscillators?

Jan 21, 2007 at 3:11am

Instrument that feeds SDIF data to an array of sine oscillators?

I’m new to Max, and the reason that I’m exploring Max is because the synthesizer building application that I’m used to working with, Reaktor, does not have any envelope generators that will do what I’m trying to do without serious modification which I don’t want to attempt.

I’m wondering if anyone has already built a synthesizer like this, or something similar, so that I can save myself the headache of learning Max to build it (I have the whole thing built in Reaktor except for the envelope generators…).

Basically, it’s just an array of sine oscillators, where each sine oscillator has one envelope generator controlling its frequency, and another envelope generator controlling its amplitude. The envelope generator that controls frequency must have a y-axis range from 20 to 20,000.

That’s basically it. One additional feature that I would like to add is to make the instrument capable of importing SDIF (Sound Description Interchange Format) files, and automatically enter the frequency and amplitude information contained in these files into the aformentioned envelope generators.

Has anyone already built something like this, and if so, would you mind sharing it with me? It would same me a ton of time.

Thanks, any help is appreciated

#29835
Jan 21, 2007 at 3:33am

Also, in case I wind up having to build this thing myself…

Is this going to be a massive project in Max? It’s pretty simple to do in Reaktor, but I don’t know just how low level DSP oriented things are in Max… (blech, hopefully it won’t be too hard… i’m perfectly content using higher level building blocks that have been built by someone else, I don’t want to spend my time reinventing the wheel…).

#93916
Jan 21, 2007 at 5:35am

in most cases you will find 3rd party (binary) objects
for things you dont want to program yourelf.

in the case of “playing SDIF partials” that would be
an object called [resonators~], which can be found
using http://www.maxobjects.com

-110

#93917
Jan 21, 2007 at 7:51am

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

go there, download the “all” file and then run the CNMAT spectral tutorials. They have tons of SDIF stuff, including an SDIF-sine player… I think it may be the answer to what you desire. As far as envelope generators, max is extremely flexible. The envelope object and the multislider object will both allow you to create very complex time based controll graphs. I think you could create anything you desire in it.

i have yet to find anything I really couldn’t make in max, though it may take a decent ammount of time to learn or create. Thats the same reason I left reaktor for max, not enough flexibility.. though now they have that core that might help.. I don’t know much about it anymore, other then that I still use the user library a ton.

#93918
Jan 21, 2007 at 2:34pm

Hi,

There was a post here about SDIF files a couple of days ago. I sent
this patch then but here it is again. To use it you need to install
all the CNMAT externals (it all comes in a package) and the ftm
externals (http://recherche.ircam.fr/equipes/temps-reel/ftm/).

You can use the CNMAT externals as mentioned before (there is an
object called sinusoids~ which is a bank of sine-wave generators and
receives lists of pairs (frequency, amplitude). It also automatically
interpolates between the old list and the newly received list so you
don’t have to do much programing there. Thats the synthesis bit. You
also need to first format your sdif data using the object
“threefates” which makes sure that each partial (of the sdif file)
starts and end on zero amplitude so you don’t get clicks. Again as
mentioned before all this is in the CNMAT spectral tutorial.

But for SDIF files you need to first import the data into max (that
can be done either using the SDIF buffer external again included in
the CNMAT package) or FTM externals. I personally find ftm more
flexible to work with but its your choice ;-)

good luck
Peiman

max v2;
#N vpatcher 491 55 1600 1013;
#P window setfont “Sans Serif” 9.;
#P comment 620 495 100 196617 turn audio on!;
#P window setfont “Sans Serif” 36.;
#P comment 545 36 100 196644 3.;
#P comment 618 510 100 196644 2.;
#P window setfont “Sans Serif” 9.;
#P newex 695 87 60 196617 loadmess 1;
#P message 469 65 29 196617 next;
#P message 471 90 34 196617 pause;
#P message 471 119 26 196617 loop;
#P user ftm.mess 589 182 60 15 3 9 255 255 255 0 0 0 1 2 0 0;
#T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
#T _#line “_($1 cols 3)”;
#P button 713 268 15 0;
#P message 713 303 31 196617 0. 0.;
#P newex 568 299 57 196617 threefates;
#B color 5;
#P newex 568 469 57 196617 sinusoids~;
#B color 5;
#P flonum 695 116 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 114 44 33 196617 clear;
#P user ezdac~ 568 517 612 550 0;
#P user ftm.mess 613 113 50 15 3 9 255 255 255 0 0 0 1 2 0 0;
#T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
#T _#line _stop;
#P user ftm.mess 546 116 50 15 3 9 255 255 255 0 0 0 1 2 0 0;
#T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
#T _#line _start;
#P user ftm.mess 153 44 50 15 3 9 255 255 255 0 0 0 1 2 0 0;
#T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
#T _#line _import;
#P newex 589 157 80 196617 ftm.play $piano;
#P user ftm.object 174 83 63 18 3 9;
#T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
#T _#scope begin;
#T _#obj 1 track fmat;
#T _#def 0 “_track fmat” piano local;
#T _#scope end;
#P newex 568 271 44 196617 ftm.list;
#P window linecount 3;
#P comment 208 34 100 196617 first import a paritial tracking sdif
file here;
#P window linecount 1;
#P comment 730 118 100 196617 speed;
#P window linecount 2;
#P comment 545 89 100 196617 then press start to play back;
#P window setfont “Sans Serif” 36.;
#P window linecount 1;
#P comment 309 30 100 196644 1.;
#P connect 11 0 5 0;
#P connect 7 0 5 0;
#P connect 17 0 4 0;
#P connect 4 0 14 0;
#P connect 14 0 13 0;
#P connect 15 0 13 0;
#P connect 13 0 10 0;
#P connect 9 0 6 0;
#P connect 8 0 6 0;
#P connect 20 0 6 0;
#P connect 18 0 6 0;
#P connect 19 0 6 0;
#P connect 6 0 17 0;
#P connect 13 0 10 1;
#P connect 12 0 6 3;
#P connect 21 0 12 0;
#P connect 9 0 16 0;
#P connect 6 2 16 0;
#P connect 16 0 15 0;
#P pop;

On 21 Jan 2007, at 03:11, Max Planck wrote:

>
> I’m new to Max, and the reason that I’m exploring Max is because
> the synthesizer building application that I’m used to working with,
> Reaktor, does not have any envelope generators that will do what
> I’m trying to do without serious modification which I don’t want to
> attempt.
>
> I’m wondering if anyone has already built a synthesizer like this,
> or something similar, so that I can save myself the headache of
> learning Max to build it (I have the whole thing built in Reaktor
> except for the envelope generators…).
>
> Basically, it’s just an array of sine oscillators, where each sine
> oscillator has one envelope generator controlling its frequency,
> and another envelope generator controlling its amplitude. The
> envelope generator that controls frequency must have a y-axis range
> from 20 to 20,000.
>
> That’s basically it. One additional feature that I would like to
> add is to make the instrument capable of importing SDIF (Sound
> Description Interchange Format) files, and automatically enter the
> frequency and amplitude information contained in these files into
> the aformentioned envelope generators.
>
>
> Has anyone already built something like this, and if so, would you
> mind sharing it with me? It would same me a ton of time.
>
> Thanks, any help is appreciated

#93919
Jan 22, 2007 at 8:10pm

Quote: Roman Thilenius wrote on Sat, 20 January 2007 21:35
—————————————————-
>
> in most cases you will find 3rd party (binary) objects
> for things you dont want to program yourelf.
>
> in the case of “playing SDIF partials” that would be
> an object called [resonators~], which can be found
> using http://www.maxobjects.com
>
>
> -110
—————————————————-

For the sake of clarification, “sinusoids~” makes sinusoidal partials, while resonators~ makes resonant filters.

As other people have kindly mentioned, much of what I know on this topic are in the Spectral Tutorials here:

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

I’d be glad to answer further questions, and hear your comments. They might result in more, better tutorials.

mz

#93920
Jan 22, 2007 at 8:24pm

Any chance anyone at cnmat is going to make an analysis program for
resonant models? ResAn is the only way to get resonant models for
resonators~, correct?

Keith

On 1/22/07, mzed wrote:
>
> Quote: Roman Thilenius wrote on Sat, 20 January 2007 21:35
> —————————————————-
> >
> > in most cases you will find 3rd party (binary) objects
> > for things you dont want to program yourelf.
> >
> > in the case of “playing SDIF partials” that would be
> > an object called [resonators~], which can be found
> > using http://www.maxobjects.com
> >
> >
> > -110
> —————————————————-
>
>
> For the sake of clarification, “sinusoids~” makes sinusoidal partials, while resonators~ makes resonant filters.
>
> As other people have kindly mentioned, much of what I know on this topic are in the Spectral Tutorials here:
>
> http://cnmat.berkeley.edu/MAX/downloads/
>
> I’d be glad to answer further questions, and hear your comments. They might result in more, better tutorials.
>
> mz
>
> –
> || michael f. zbyszynski — molecular gastronimist
> || mzed@cnmat.berkeley.edu — +1.510.643.9990×314
> || http://www.cnmat.berkeley.edu/
> || http://www.mikezed.com/
>
>
>
>

#93921
Jan 22, 2007 at 8:30pm

Quote: maxplanck735@hotmail.com wrote on Sun, 21 January 2007 05:33
—————————————————-
> Also, in case I wind up having to build this thing myself…
>
> Is this going to be a massive project in Max? It’s pretty simple to do in Reaktor, but I don’t know just how low level DSP oriented things are in Max… (blech, hopefully it won’t be too hard… i’m perfectly content using higher level building blocks that have been built by someone else, I don’t want to spend my time reinventing the wheel…).
—————————————————-

No it is not, download cnmat spectral tutorials and objects, what you want to do is already built in those tutorials.

By the way, I know that even having the first steps in reaktor(which is lacking a nice manual at v5, what a shame, i still love it though) needs absolute help from the reaktor community, but max msp and all the externals you will find usually will have a very solid manual and tutorials(including working examples of objects). Sparing half a weeks time to max and msp tutorials(just read the stuff that you are not interested, without actually working on them) is what you need to do to save yourself from the actual headache. Things work reverse in max/msp.

These are of course only suggestions from me, as I’ve been there before. Just trying to help.

Good Luck!

#93922
Jan 23, 2007 at 12:38am

Quote: keithmanlove wrote on Mon, 22 January 2007 12:24
—————————————————-
> Any chance anyone at cnmat is going to make an analysis program for
> resonant models? ResAn is the only way to get resonant models for
> resonators~, correct?
>

Believe me, I prowl the streets at night looking for an Engineering Student I can abduct and force to do this work. I even think they could get a pretty good thesis out of it. However, they must all be home playing Halo or something, because I haven’t caught one.

sigh.

The world certainly needs a good, opensource resonant analysis program — something at the level of SPEAR would make my semester. I’ll buy someone beer if they make it.

mz

#93923
Jan 23, 2007 at 12:48am

Quote: keithmanlove wrote on Mon, 22 January 2007 12:24
—————————————————-
> Any chance anyone at cnmat is going to make an analysis program for
> resonant models? ResAn is the only way to get resonant models for
> resonators~, correct?
>

Believe me, I prowl the streets at night looking for an Engineering Student I can abduct and force to do this work. I even think they could get a pretty good thesis out of it. However, they must all be home playing Halo or something, because I haven’t caught one.

sigh.

The world certainly needs a good, opensource resonant analysis program — something at the level of SPEAR would make my semester. I’ll buy someone beer if they make it.

mz

#93924
Jan 23, 2007 at 2:03am

Before you keep broadcasting that you prowl for engineering students
at night, how much of a task is this? Better put, how far away is
SPEAR from being able to do that? Even better yet… how can I make
one whilst playing Halo?

It’s always a difficult task. How do you convince (trick, bribe)
engineering students to work on music stuff? Lying has worked for me
in the past, but I’m sure some have a problem with that. I think we
should all buy Klingbeil a beer if he does it.

Keith

On 1/22/07, mzed wrote:
>
> Quote: keithmanlove wrote on Mon, 22 January 2007 12:24
> —————————————————-
> > Any chance anyone at cnmat is going to make an analysis program for
> > resonant models? ResAn is the only way to get resonant models for
> > resonators~, correct?
> >
>
> Believe me, I prowl the streets at night looking for an Engineering Student I can abduct and force to do this work. I even think they could get a pretty good thesis out of it. However, they must all be home playing Halo or something, because I haven’t caught one.
>
> sigh.
>
> The world certainly needs a good, opensource resonant analysis program — something at the level of SPEAR would make my semester. I’ll buy someone beer if they make it.
>
> mz
>
> –
> || michael f. zbyszynski — molecular gastronimist
> || mzed@cnmat.berkeley.edu — +1.510.643.9990×314
> || http://www.cnmat.berkeley.edu/
> || http://www.mikezed.com/
>
>
>
>

#93925
Jan 23, 2007 at 2:54am

> The world certainly needs a good, opensource resonant analysis program — something at the level of SPEAR would make my semester. I’ll buy someone beer if they make it.
>
I’ll second that beer! (I’ll see your beer and raise you a crate of ale…)

I’ve been seriously tempted to ‘play’ SPEAR by using it to convert (by
hand so to speak) recordings from Live to sdif then feed them back into
max with good old cut’n'paste but it’d be hellish: if I had that kind of
manual dexterity I’d try to be a musician again.

scott

#93926
Jan 23, 2007 at 10:01am

You know, I once made this morphing sound between a bell and a voice
(a Harvey study!) by interpolating the data from one analysis from
Spears with another (only one frame though) and finaly mixing it with
the original samples. I used Csound for this and had to make one
oscillator for each partial (there where about 200 partials!) and
enter the frequencies and amps by hand: it took a whole week to get
it sounding the way I wanted! And since I have tried that with ftm
and CNMAT which have objects for doing exactly that. But I think its
still better by hand because you get to choose which partial from the
1st sound interpolates to which partial of the 2nd file (I chose the
nearest frequencies), you can also keep some partial frequencies
constant as they may be present in both files. It’s easier than
cutting tinny pieces of magnetic tape I guess!

P

On 23 Jan 2007, at 02:54, scott mc laughlin wrote:

>
>> The world certainly needs a good, opensource resonant analysis
>> program — something at the level of SPEAR would make my
>> semester. I’ll buy someone beer if they make it.
>>
> I’ll second that beer! (I’ll see your beer and raise you a crate of
> ale…)
>
> I’ve been seriously tempted to ‘play’ SPEAR by using it to convert
> (by hand so to speak) recordings from Live to sdif then feed them
> back into max with good old cut’n'paste but it’d be hellish: if I
> had that kind of manual dexterity I’d try to be a musician again.
>
> scott

#93927
Jan 23, 2007 at 3:29pm

Hi Peiman, thanks for that example. I changed it to use Gabor externals
for the synthesis. With the (voice) file I tested, it sounds better
than sinusoids~. (Don’t forget to put both overdrives on.)

On the ftm wiki
[http://freesoftware.ircam.fr/wiki/index.php/FTMExamplePatches], where
anyone can contribute examples, there’s a third possibility of using
[ioscbank~].

Cheers…
…Diemo

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P comment 337 426 228 196617 reconstruct two-column matrix to display
peaks;
#P window linecount 2;
#P comment 462 265 94 196617 send empty mat on end -> stop playing;
#P user ftm.mess 383 284 60 15 3 9 255 255 255 0 0 0 1 2 0 0;
#T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
#T _#line “_(new fmat)”;
#P user ftm.mess 416 446 212 15 3 9 255 255 255 0 0 0 1 2 0 0;
#T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
#T _#line “_($fa rows ($1 size)); (($fa colref 1) set $1)”;
#P user ftm.object 564 468 54 18 3 9;
#T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
#T _#scope begin;
#T _#obj 1 fmat;
#T _#def 0 “_fmat 0 2″ fa local;
#P user ftm.mess 384 468 134 15 3 9 255 255 255 0 0 0 1 2 0 0;
#T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
#T _#line “_(($fa colref 0) set $1); $fa”;
#P user ftm.vecdisplay 384 492 249 131 0. 5000. 5000. 190 190 190 0 5 2
0. 0.5 255 0 0 1 0. 1. 0 255 0 1 0. 1. 0 0 255 1 0. 1. 255 0 255 1 0. 1.
255 255 0;
#P user hslider 134 426 15 129 101 1 0 0;
#P window linecount 1;
#P hidden newex 132 444 109 196617 scale 0 100 -1 1 1.06;
#P user ftm.mess 383 317 69 15 3 9 255 255 255 0 0 0 1 2 0 0;
#T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
#T _#line “_($1 colref 2)”;
#P user ftm.mess 242 317 69 15 3 9 255 255 255 0 0 0 1 2 0 0;
#T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
#T _#line “_($1 colref 1)”;
#P window linecount 2;
#P comment 314 317 72 196617 partial frequencies;
#P comment 113 337 126 196617 spectrum to add partials (complex rect
vector);
#P window linecount 1;
#P newex 101 504 151 196617 gbr.paste partials-drain;
#P newex 101 527 175 196617 gbr.drain~ partials-drain 200;
#P newex 101 394 433 196617 gbr.addpartials 400;
#P newex 101 317 102 196617 gbr.slice~ 1024 512;
#P user ftm.mess 101 480 124 15 3 9 255 255 255 0 0 0 1 2 0 0;
#T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
#T _#line “_(($1 rifft) mul (1. + $2))”;
#P window linecount 2;
#P comment 456 317 65 196617 partial amplitudes;
#P window linecount 1;
#P comment 143 580 100 196617 turn audio on!;
#P window setfont “Sans Serif” 36.;
#P comment 10 118 45 196644 3.;
#P comment 12 576 45 196644 2.;
#P window setfont “Sans Serif” 9.;
#P newex 348 169 60 196617 loadmess 1;
#P message 122 147 29 196617 next;
#P message 124 172 34 196617 pause;
#P message 124 201 26 196617 loop;
#P button 383 257 15 0;
#P flonum 348 198 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 204 27 33 196617 clear;
#P user ezdac~ 85 583 129 616 0;
#P user ftm.mess 266 195 50 15 3 9 255 255 255 0 0 0 1 2 0 0;
#T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
#T _#line _stop;
#P user ftm.mess 199 198 50 15 3 9 255 255 255 0 0 0 1 2 0 0;
#T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
#T _#line _start;
#P user ftm.mess 243 27 50 15 3 9 255 255 255 0 0 0 1 2 0 0;
#T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
#T _#line _import;
#P newex 242 239 80 196617 ftm.play $piano;
#P user ftm.object 243 55 63 18 3 9;
#T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
#T _#obj 2 track fmat;
#T _#def 0 “_track fmat” piano local;
#T _#scope end;
#P window linecount 3;
#P comment 95 30 100 196617 first import a paritial tracking sdif file here;
#P window linecount 1;
#P comment 383 200 100 196617 speed;
#P window linecount 2;
#P comment 99 120 100 196617 then press start to play back;
#P window setfont “Sans Serif” 36.;
#P window linecount 1;
#P comment 8 26 45 196644 1.;
#P connect 24 0 9 0;
#P connect 22 0 23 0;
#P connect 23 0 21 0;
#P connect 21 0 25 0;
#P connect 24 0 9 1;
#P hidden connect 31 0 30 0;
#P fasten 30 0 21 1 137 468 220 468;
#P connect 8 0 5 0;
#P connect 14 0 5 0;
#P connect 13 0 5 0;
#P connect 15 0 5 0;
#P connect 7 0 5 0;
#P connect 36 0 28 0;
#P connect 5 0 28 0;
#P connect 28 0 23 1;
#P connect 6 0 4 0;
#P connect 10 0 4 0;
#P connect 11 0 5 3;
#P connect 16 0 11 0;
#P connect 8 0 12 0;
#P connect 5 2 12 0;
#P connect 12 0 36 0;
#P connect 36 0 29 0;
#P connect 5 0 29 0;
#P connect 29 0 23 2;
#P connect 28 0 33 0;
#P connect 33 0 32 0;
#P connect 29 0 35 0;
#P window clipboard copycount 39;

peiman khosravi wrote:
> Hi,
>
> There was a post here about SDIF files a couple of days ago. I sent this
> patch then but here it is again. To use it you need to install all the
> CNMAT externals (it all comes in a package) and the ftm externals
> (http://recherche.ircam.fr/equipes/temps-reel/ftm/).
>
> You can use the CNMAT externals as mentioned before (there is an object
> called sinusoids~ which is a bank of sine-wave generators and receives
> lists of pairs (frequency, amplitude). It also automatically
> interpolates between the old list and the newly received list so you
> don’t have to do much programing there. Thats the synthesis bit. You
> also need to first format your sdif data using the object “threefates”
> which makes sure that each partial (of the sdif file) starts and end on
> zero amplitude so you don’t get clicks. Again as mentioned before all
> this is in the CNMAT spectral tutorial.
>
> But for SDIF files you need to first import the data into max (that can
> be done either using the SDIF buffer external again included in the
> CNMAT package) or FTM externals. I personally find ftm more flexible to
> work with but its your choice ;-)
>
> good luck
> Peiman
>
> max v2;
> #N vpatcher 491 55 1600 1013;
> #P window setfont “Sans Serif” 9.;
> #P comment 620 495 100 196617 turn audio on!;
> #P window setfont “Sans Serif” 36.;
> #P comment 545 36 100 196644 3.;
> #P comment 618 510 100 196644 2.;
> #P window setfont “Sans Serif” 9.;
> #P newex 695 87 60 196617 loadmess 1;
> #P message 469 65 29 196617 next;
> #P message 471 90 34 196617 pause;
> #P message 471 119 26 196617 loop;
> #P user ftm.mess 589 182 60 15 3 9 255 255 255 0 0 0 1 2 0 0;
> #T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
> #T _#line “_($1 cols 3)”;
> #P button 713 268 15 0;
> #P message 713 303 31 196617 0. 0.;
> #P newex 568 299 57 196617 threefates;
> #B color 5;
> #P newex 568 469 57 196617 sinusoids~;
> #B color 5;
> #P flonum 695 116 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
> #P message 114 44 33 196617 clear;
> #P user ezdac~ 568 517 612 550 0;
> #P user ftm.mess 613 113 50 15 3 9 255 255 255 0 0 0 1 2 0 0;
> #T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
> #T _#line _stop;
> #P user ftm.mess 546 116 50 15 3 9 255 255 255 0 0 0 1 2 0 0;
> #T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
> #T _#line _start;
> #P user ftm.mess 153 44 50 15 3 9 255 255 255 0 0 0 1 2 0 0;
> #T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
> #T _#line _import;
> #P newex 589 157 80 196617 ftm.play $piano;
> #P user ftm.object 174 83 63 18 3 9;
> #T _#aa $0_ $1_ $2_ $3_ $4_ $5_ $6_ $7_ $8_ $9_;
> #T _#scope begin;
> #T _#obj 1 track fmat;
> #T _#def 0 “_track fmat” piano local;
> #T _#scope end;
> #P newex 568 271 44 196617 ftm.list;
> #P window linecount 3;
> #P comment 208 34 100 196617 first import a paritial tracking sdif file
> here;
> #P window linecount 1;
> #P comment 730 118 100 196617 speed;
> #P window linecount 2;
> #P comment 545 89 100 196617 then press start to play back;
> #P window setfont “Sans Serif” 36.;
> #P window linecount 1;
> #P comment 309 30 100 196644 1.;
> #P connect 11 0 5 0;
> #P connect 7 0 5 0;
> #P connect 17 0 4 0;
> #P connect 4 0 14 0;
> #P connect 14 0 13 0;
> #P connect 15 0 13 0;
> #P connect 13 0 10 0;
> #P connect 9 0 6 0;
> #P connect 8 0 6 0;
> #P connect 20 0 6 0;
> #P connect 18 0 6 0;
> #P connect 19 0 6 0;
> #P connect 6 0 17 0;
> #P connect 13 0 10 1;
> #P connect 12 0 6 3;
> #P connect 21 0 12 0;
> #P connect 9 0 16 0;
> #P connect 6 2 16 0;
> #P connect 16 0 15 0;
> #P pop;
>
>
> On 21 Jan 2007, at 03:11, Max Planck wrote:
>
>>
>> I’m new to Max, and the reason that I’m exploring Max is because the
>> synthesizer building application that I’m used to working with,
>> Reaktor, does not have any envelope generators that will do what I’m
>> trying to do without serious modification which I don’t want to attempt.
>>
>> I’m wondering if anyone has already built a synthesizer like this, or
>> something similar, so that I can save myself the headache of learning
>> Max to build it (I have the whole thing built in Reaktor except for
>> the envelope generators…).
>>
>> Basically, it’s just an array of sine oscillators, where each sine
>> oscillator has one envelope generator controlling its frequency, and
>> another envelope generator controlling its amplitude. The envelope
>> generator that controls frequency must have a y-axis range from 20 to
>> 20,000.
>>
>> That’s basically it. One additional feature that I would like to add
>> is to make the instrument capable of importing SDIF (Sound Description
>> Interchange Format) files, and automatically enter the frequency and
>> amplitude information contained in these files into the aformentioned
>> envelope generators.
>>
>>
>> Has anyone already built something like this, and if so, would you
>> mind sharing it with me? It would same me a ton of time.
>>
>> Thanks, any help is appreciated


Diemo Schwarz, PhD — http://diemo.concatenative.net
Real-Time Applications Team — http://www.ircam.fr/equipes/temps-reel
IRCAM – Centre Pompidou — 1, place Igor-Stravinsky, 75004 Paris, France
Phone +33-1-4478-4879 — Fax +33-1-4478-1540

#93928
Jan 24, 2007 at 8:32am

Thanks a lot for all the info. i started out reading the max tutorial, and i didn’t realize that there was a seperate MSP tutorial, that’s why i was so averse to looking at what i thought was the max/msp tutorial… it’s was mostly about midi sequencing stuff that i will never use, and it didn’t have any oscillators in it at all! so i finally realized that there’s an msp tutorial, and i’m now picking through it and the cnmat spectral synthesis tutorial now, this stuff is exactly what i was looking for.

thanks!

#93929
Jan 24, 2007 at 8:24pm

scott mc laughlin wrote:
> I’ll second that beer! (I’ll see your beer and raise you a crate of ale…)

I’ll throw in a big bowl of the best muesli on earth (I am not good at
beers as I am also vegetarian… ;-)

Stefan


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

#93930
Jan 26, 2007 at 5:26pm

Max Planck wrote:
> so i finally realized that there’s an msp tutorial, and i’m now
> picking through it and the cnmat spectral synthesis tutorial now,
> this stuff is exactly what i was looking for.

What a relief, you made it, welcome on board… (and take your time ;-)

Stefan


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

#93931

You must be logged in to reply to this topic.