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
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...).
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 www.maxobjects.com
-110
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.
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
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
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 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:
I'd be glad to answer further questions, and hear your comments. They might result in more, better tutorials.
mz
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 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.9990x314
> || http://www.cnmat.berkeley.edu/
> || http://www.mikezed.com/
>
>
>
>
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!
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
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.9990x314
> || http://www.cnmat.berkeley.edu/
> || http://www.mikezed.com/
>
>
>
>
> 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
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
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
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
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!
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
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