Syntheisizing instruments

SecretTheatre's icon

Hi,

I am interested in using Max/MSP to synthesize oriental free reed instruments like the sho and sheng. I've used Max/MSP for about 6 months now, but I'm not that clear about where to begin with this. I presume I'd need some kind of analysis of the acoustic and spectral properties of these instruments. I've got a few sound samples, so I'm guessing I could work with analyses of these in something like SND or SPEAR. Any thoughts/advice most welcome.

Peiman's icon

I think physical modeling will be better than additive synthesis for your
task. I heard some good examples (not made in max) of physical modeling
here:

There is the modalys external from IRCAM for use in max. I am sure there are
other free libraries also.

Best
Peiman

On 06/08/07, SecretTheatre wrote:
>
>
> Hi,
>
> I am interested in using Max/MSP to synthesize oriental free reed
> instruments like the sho and sheng. I've used Max/MSP for about 6 months
> now, but I'm not that clear about where to begin with this. I presume I'd
> need some kind of analysis of the acoustic and spectral properties of these
> instruments. I've got a few sound samples, so I'm guessing I could work with
> analyses of these in something like SND or SPEAR. Any thoughts/advice most
> welcome.
>
>
>

SecretTheatre's icon

Thanks Peiman, I've done a bit of research into physical modelling, but I think that route would probably be a bit too expensive in terms of CPU, etc. My question's much more general and more basic, anyway - I've never tried to synthesize an instrument from the ground up before, so I was wondering (just to fill a gap in my knowledge, really) what would be the first basic steps. Possibly extracting data from a sample via pfft~? Or SDIF analysis?

Thanks

Peiman's icon

Hi Chris,

Well to be honest I haven't either! I don't think there is a rule, from what
I have read there are two ways around it, you can either model the physical
manner in which the sound is produced (i.e. instrument) as in physical
modeling or model the actual spectral content of your sounds ignoring
altogether the physics of the instrument, in which case you can analyze your
samples using some kind of fft analysis. The problem is -with wind
instruments particularly- that additive synthesis does not recreate the
noise content of your original samples. There are several analysis methods
that separate the sound into noise, and sinusoidal portions, for instance
ATS does this and I have successfully re-synthesized some flute sounds from
ATS analysis-files (but using SC3 as the synthesis engine). Unfortunately I
don't know how you would go about translating the ATS analysis into a
formant readable by max unless you use the csound~ external.

Spear does a similar think (extracting noise and partials) and you could
synthesis the resulting SDIF in max with the CNMAT package. What is your aim
in the end? If you're after some kind of spectral sampler there is a patch
demonstrating this in the max/msp example folder.

Good luck
Peiman

On 06/08/07, SecretTheatre wrote:
>
>
> Thanks Peiman, I've done a bit of research into physical modelling, but I
> think that route would probably be a bit too expensive in terms of CPU, etc.
> My question's much more general and more basic, anyway - I've never tried to
> synthesize an instrument from the ground up before, so I was wondering (just
> to fill a gap in my knowledge, really) what would be the first basic steps.
> Possibly extracting data from a sample via pfft~? Or SDIF analysis?
>
> Thanks
>

SecretTheatre's icon

Thanks again Peiman, CNMAT seems to be the kind of thing that could prove very useful for me. Oh, and hi to a fellow OM user!

Chris

geraldg@gmx.de's icon

Hi!

I was doing some resynthesis-from-scratch experiments in Max too. I used SPEAR to feed a small neural network, wich controlled a 10-band additive synthesis. For a flute it's working fine, but if the spectrum is more in-harmonic, it will be difficult to get satisfying results. The biggest problem was, to get sufficient and consistent analysis data. I did this by hand, and it took some hours. Is there probably a way to extract the significant spectral components automatically?

Gerald

SecretTheatre's icon

Well I've read of Matlab being used in this area, but I've never used it myself so couldn't give you details (I believe there are open source alternatives to Matlab, though I don't know if they'd have the same functionality). All I've used in the past is SND, just to get raw frequency/amplitude lists, which I've then manipulated in Common Music (Lisp-based).

Perhaps Loris or ATS (mentioned above by Peiman) might be worth looking at?

alexander's icon

Quote: geraldg@gmx.de wrote on Tue, 07 August 2007 10:20
----------------------------------------------------
> Hi!
>
> I was doing some resynthesis-from-scratch experiments in Max too. I used SPEAR to feed a small neural network, wich controlled a 10-band additive synthesis. For a flute it's working fine, but if the spectrum is more in-harmonic, it will be difficult to get satisfying results. The biggest problem was, to get sufficient and consistent analysis data. I did this by hand, and it took some hours. Is there probably a way to extract the significant spectral components automatically?
>
> Gerald
----------------------------------------------------

There is an easy way to print selected spectral componont data. Then copy-paste it to an exel sheet to convert to ratios, if needed!

Peiman's icon

If you're using OM you could use the OM-supervp library to do analysis.
Csound also has several analysis utilities that are easy to use (these
include ATS). It allows you to also convert some of them (for instance pvoc
file that is a record of an fft analysis frame by frame) to easily parsed
text files. On mac soundhack is also good for fft analysis.
Best
Peiman

On 07/08/07, alexander wrote:
>
>
> Quote: geraldg@gmx.de wrote on Tue, 07 August 2007 10:20
> ----------------------------------------------------
> > Hi!
> >
> > I was doing some resynthesis-from-scratch experiments in Max too. I used
> SPEAR to feed a small neural network, wich controlled a 10-band additive
> synthesis. For a flute it's working fine, but if the spectrum is more
> in-harmonic, it will be difficult to get satisfying results. The biggest
> problem was, to get sufficient and consistent analysis data. I did this by
> hand, and it took some hours. Is there probably a way to extract the
> significant spectral components automatically?
> >
> > Gerald
> ----------------------------------------------------
>
> There is an easy way to print selected spectral componont data. Then
> copy-paste it to an exel sheet to convert to ratios, if needed!
> --
> - Alexander
>

pvillez@gmail.com's icon

It depends on the type of instrument you want to imitate.

For voice like instruments I would recomend FOF synthesis or some
other type of microsonic technique as there has been a lot of work
done in this area. Imitating the elements of the human voice is not
particularly difficult. it is the articulation between these elements
which is the party. A data driven system is the only way to achieve a
realistic effect. Look at the FTM site and concatenation or mosaic
synthesis. Chant and Diphone do the FOF and additive from a
concatenation, personally I think this is the way to go.

Spear file system I think is in triplets per partial track, I must
look at this again. though you could have a look at the Praat analyser
, the text files of which are not that difficult to decipher. It also
gives you formant tracks which is what you will need for FOF and PWS

For plucked instruments and hit instruments, physical modelling is pretty good.

There are so many synthesis techniques. A couple of good resources is
Microsound by curtis roads. Representations of Musical signals edited
by Roads and the Csound book. There are lot of synthesis opcodes in
Csound and the Csound~ has just been updated. There is a couple of
chapters on FOF synthesis in this book which look at imitating the
human voice.

Pere

On 06/08/07, SecretTheatre wrote:
>
> Hi,
>
> I am interested in using Max/MSP to synthesize oriental free reed instruments like the sho and sheng. I've used Max/MSP for about 6 months now, but I'm not that clear about where to begin with this. I presume I'd need some kind of analysis of the acoustic and spectral properties of these instruments. I've got a few sound samples, so I'm guessing I could work with analyses of these in something like SND or SPEAR. Any thoughts/advice most welcome.
>
>
>

--
www.centuryofnoise.com
www.perevillez.com

geraldg@gmx.de's icon

> There is an easy way to print selected spectral componont data. Then copy-paste it to an exel sheet to convert to ratios, if needed!

Yeah, I know! But the problem is to select / reduce the spectral components by hand rather than to convert them to text... There are in-harmonic partials in the lower frequencies, that are much louder than some harmonic parts in the higer area. Thus, if you need for example 10 harmonic partials, you will get 2 harmonich and 8 inharmonic ones... Of course 10 oscils are not enough, but this was just an experiment. Does anyone know a software, that makes thigs like that easier? Sth. like " give me n characteristic parts of the spectrum" ? Or some smart data-clustering or whatever algorithm?

Gerald

Peiman's icon

Audiosculpt offers many different ways of analysis, there are many things
you can look for: spectral envelop, amp envelop, partial tracking, noise
profile and so on. I think that SDIF is designed to hold all these
information that can then be parsed by say Open Music and used to generate
data for whatever synthesis language (e.g. csound). But problem with SDIF is
that IRCAM is not really making enough efforts to document their material
and offer a comprehensive approach to users, I am not sure if SDIF will
fulfill it's goal as a standard/universal format.

I have used Iana~ external before (in the IRCAM max/msp package), it is not
a partial tracker but it does reduce the fft analysis data to as little as 3
partials (you can control the parameters and time-resolution) in real-time.
The algorithm is based on Terhard's psychoacoustic theory I think and the
result is magically realistic in as much as capturing the characteristics of
the sound is concerned.
Peiman

On 08/08/2007, Gerald wrote:
>
>
> > There is an easy way to print selected spectral componont data. Then
> copy-paste it to an exel sheet to convert to ratios, if needed!
>
> Yeah, I know! But the problem is to select / reduce the spectral
> components by hand rather than to convert them to text... There are
> in-harmonic partials in the lower frequencies, that are much louder than
> some harmonic parts in the higer area. Thus, if you need for example 10
> harmonic partials, you will get 2 harmonich and 8 inharmonic ones... Of
> course 10 oscils are not enough, but this was just an experiment. Does
> anyone know a software, that makes thigs like that easier? Sth. like " give
> me n characteristic parts of the spectrum" ? Or some smart data-clustering
> or whatever algorithm?
>
>
> Gerald
>

pvillez@gmail.com's icon

>Terhard's psychoacoustic theory

do you have a particular reference to this work? many thanks.P

On 08/08/07, peiman khosravi wrote:
> Audiosculpt offers many different ways of analysis, there are many things
> you can look for: spectral envelop, amp envelop, partial tracking, noise
> profile and so on. I think that SDIF is designed to hold all these
> information that can then be parsed by say Open Music and used to generate
> data for whatever synthesis language ( e.g. csound). But problem with SDIF
> is that IRCAM is not really making enough efforts to document their material
> and offer a comprehensive approach to users, I am not sure if SDIF will
> fulfill it's goal as a standard/universal format.
>
> I have used Iana~ external before (in the IRCAM max/msp package), it is not
> a partial tracker but it does reduce the fft analysis data to as little as 3
> partials (you can control the parameters and time-resolution) in real-time.
> The algorithm is based on Terhard's psychoacoustic theory I think and the
> result is magically realistic in as much as capturing the characteristics of
> the sound is concerned.
> Peiman
>
>
> On 08/08/2007, Gerald wrote:
> >
> > > There is an easy way to print selected spectral componont data. Then
> copy-paste it to an exel sheet to convert to ratios, if needed!
> >
> > Yeah, I know! But the problem is to select / reduce the spectral
> components by hand rather than to convert them to text... There are
> in-harmonic partials in the lower frequencies, that are much louder than
> some harmonic parts in the higer area. Thus, if you need for example 10
> harmonic partials, you will get 2 harmonich and 8 inharmonic ones... Of
> course 10 oscils are not enough, but this was just an experiment. Does
> anyone know a software, that makes thigs like that easier? Sth. like " give
> me n characteristic parts of the spectrum" ? Or some smart data-clustering
> or whatever algorithm?
> >
> >
> > Gerald
> >
>
>
>
>

--
www.centuryofnoise.com
www.perevillez.com

Peiman's icon

Terhardt Ernst, Stoll Gerhard & Seewann Manfred, "Algorithm for Extraction
of Pitch and Pitch Salience from Complex Tonal Signals," JASA 71 (3), March
1982.

The reference that the Iana~ documentation gives.

Peiman

On 08/08/2007, Pere Josep Villez wrote:
>
> >Terhard's psychoacoustic theory
>
> do you have a particular reference to this work? many thanks.P
>
> On 08/08/07, peiman khosravi wrote:
> > Audiosculpt offers many different ways of analysis, there are many
> things
> > you can look for: spectral envelop, amp envelop, partial tracking, noise
> > profile and so on. I think that SDIF is designed to hold all these
> > information that can then be parsed by say Open Music and used to
> generate
> > data for whatever synthesis language ( e.g. csound). But problem with
> SDIF
> > is that IRCAM is not really making enough efforts to document their
> material
> > and offer a comprehensive approach to users, I am not sure if SDIF will
> > fulfill it's goal as a standard/universal format.
> >
> > I have used Iana~ external before (in the IRCAM max/msp package), it is
> not
> > a partial tracker but it does reduce the fft analysis data to as little
> as 3
> > partials (you can control the parameters and time-resolution) in
> real-time.
> > The algorithm is based on Terhard's psychoacoustic theory I think and
> the
> > result is magically realistic in as much as capturing the
> characteristics of
> > the sound is concerned.
> > Peiman
> >
> >
> > On 08/08/2007, Gerald wrote:
> > >
> > > > There is an easy way to print selected spectral componont data. Then
> > copy-paste it to an exel sheet to convert to ratios, if needed!
> > >
> > > Yeah, I know! But the problem is to select / reduce the spectral
> > components by hand rather than to convert them to text... There are
> > in-harmonic partials in the lower frequencies, that are much louder than
> > some harmonic parts in the higer area. Thus, if you need for example 10
> > harmonic partials, you will get 2 harmonich and 8 inharmonic ones... Of
> > course 10 oscils are not enough, but this was just an experiment. Does
> > anyone know a software, that makes thigs like that easier? Sth. like "
> give
> > me n characteristic parts of the spectrum" ? Or some smart
> data-clustering
> > or whatever algorithm?
> > >
> > >
> > > Gerald
> > >
> >
> >
> >
> >
>
>
> --
> www.centuryofnoise.com
> www.perevillez.com
>

FP's icon

Hello, maybe try the freereed~object in the accrodion MaxForLive plugin : http://www.maxforlive.com/library/device/442/accordion

Roman Thilenius's icon

i vote for physical modelling, timbre is not as important as expression for perception and you will never get a nice string strum attack sound using sinusoids~ :)

AudioLemon's icon

There is a good example of waveguides in this post - needs Max6 and gen~