Modal/Formant Synthesis – Help Please
I would like to make a modal physical model of simple vibrating objects like woodblocks, tuning forks things like that. I am not sure how to start.
I tried to analyse a sample input using pitch~ hoping to get 3 peak harmonics and then I was going to excite some resonators with noise, and the bang, amp and freq coming from pitch~. This did not work at all. Possibly pitch~ is not working correctly in Max5. 2 of the outputs do not give any readings and those outputs that do give readings the freq changes radically every time I play/repeat the sound. The amp levels for the first 3 harmonics are very low 0.0000024 and as such do not seem to be of any use.
Possibly this is because the samples I am using are too short for pitch~ or more likely I am just on the wrong track.
Any help in what objects to use would be greatly appreciated. If possible I would like to stick with objects in the Max library as I just want something for basic demonstration of the technique. I am not after a synth as such more just the basic idea.
no replies :(
Maybe if I rephrase the question…. How do others do modal synthesis in Max?
maybe try miller puckette’s sigmund object plus CNMAT resonators?
I’ll have a look.
any further developments on this? I recently posted a simple string model, using a similar technique (although not strictly a math-derived physical model); would love to see how you’re progressing
I had a look at Sigmund~ but it seems to be Mac only and I use PC so I might have to wait a while for that.
The CNMAT Spectral Synthesis tutorials that Oli pointed to are extremely good. They are a little more complex than I was after. When it comes to analysis for the list of partials/amps that feed the resonator~ or decaying sinusoids~ object the tutorials direct you to other software like Spear or IRCAM Diphone to do the analysis and generate the list data. The analysis is not realtime.
In Perry R.Cooks book Real Sound Synthesis he talked about a modal synthesis method that looked pretty simple using only 3 to 6 peaks and then using noise to simulate the excitation. I think I’ll have to go back and re-read the chapter – again :)
I was thinking maybe I could use FFT in Max and get the freq’s from the 3 loudest bins. I haven’t used the FFT features in Max before so it’s a good excuse.