formant synthesis in max/msp

federico's icon

hi list,

i'm trying to work on formant synthesis with max 5.

could you suggest me some object (with the same goal of "fof" in csound) to make
formant synthesis?

i tried to use paf- but it doesen't work... with max 5.

thanks
fv

Christopher Carvalho's icon

this is very interesting, i would also like to know some ways this can be done,

bump,

C

oli larkin's icon

this is FOF done with gmu.syngranule~;

Max Patch
Copy patch and select New From Clipboard in Max.

but i didn't get the bandwidths

Danny de Graan's icon

You can make formant synthesis very easy with the ffb~ object. On this forum there are several examples of how people have done this.

Personally I try to use native externals as much as possible. I have been working with max for more than 14 years and in that time a lot of people have abandoned their home-made externals. And if you really depend on them you are f@#ked. Some externals have been there for ages like fiddle~ which I can't live without. Just make sure you use externals that stay supported.

Danny

oli larkin's icon

FOF synthesis is not the same as a formant filter (e.g. using ffb~). [edit - at least in the sense of the literature on FOF - it can probably achieve the same effect]

I think the attitude of only using native objects in many cases is just making things hard for yourself. For instance FOF is hard to do because you need sample accurate, overlapping grains (it is probably possible though, in some backwards way). Max can become very frustrating when you need to trigger things at sample rate, and knowing the sdk and/or using some 3rd party objects can save you lots of time.

Danny de Graan's icon

@ Oli

FOF and formant synthesis are indeed different. But I only revert to formant synthesis ;-) FOF is more like granular synthesis which is also possible with max. But its a bit more work.

And, I totally agree that there are a lot of 3rd party objects out there that are great and live savers. But I think (thats the max teacher in me) you can do a lot with the native objects. It's easy to grab a 3rd party object but you do not learn anything from that. Still, I do tell my students they shouldn't invent the wheel again and just grab whats out there but they need to know the basics of what they are grabbing.

I hope the people at Cycling '74 think of something which let you do sample accurate processing. I love to do gendy stuff in max but no luck yet.

Jeff Thompson's icon

On a simple and practical note, I used the Wikipedia article on formants (http://en.wikipedia.org/wiki/Formant) about a year ago to build a very basic patch that was able to do this with only three ffb~ filters and lists of values for each vowel in a coll.

I wasn't trying for speech (just vowel sounds) so it wasn't and didn't need to be perfect, but it worked and ended up sounding startlingly like throat singing.

Alexandre's icon

Hi
I'm actually experimenting on formant synthesis using the "singing-voice~.help.pat" from the max CNMAT alibaba cave that you can dl from there web site. quite nice.

Nano59's icon

with the fffb~ example patch in max, you can create some cool sounds but it always has white noise ruining it. Is there any way to clear that up?

jtylerbentley's icon

In my casual experiments, an absurdly high Q parameter will clear out all or most of the extraneous noise.

Peter McCulloch's icon

Here's a post on doing the PAF in gen~. (Can be also done with vanilla max objects)