Scanned Synthesis in Max Msp

    Oct 18 2010 | 7:18 pm
    Hi everyone,
    I just was wondering whether anyone has successfully implemented scanned synthesis in max without using csound~ or scansynth~, and could offer some advice. I'm aware of jobo's "Scanned Synthesizer" (listed in the c74 Projects page), and have put together a quick patch which I think approximates the technique. It uses the msd object to model a string which is then fed into an instance of multislider. From here, the data is streamed into buffer~ to create a dynamic wavetable which is then read by wave~. It works, but produces an irritating crackle (perhaps due to the rate at which the model is being updated). I was hoping that someone with more experience could share their thoughts on the underlying principle (it's limitations, better techniques etc). Any advice would be great.
    Anyway, here's the patch (and link to the msd external):
    I'd be really interested to see other peoples experiments in this area.
    Many Thanks

    • Oct 18 2010 | 8:13 pm
      indeed it will always crackle when you read from a buffer which is permanently updated.
      i dont see any way of doing this with standard externals, but i am curious if someone has an idea.
    • Oct 19 2010 | 4:34 am
      Hey this is pretty cool! I had to dig out msd from my archive but sure enough it works. This could also be great as a generic modulator for audio signals. Thanks for sharing Fen.
    • Oct 19 2010 | 7:59 am
      The Scanned Synth Pro VST/AU plugin (which I developed) always stores the last wavetable along with the current one and crossfades smoothly between them. I would have thought you could do this in Max/MSP without too much trouble. I haven't actually tried your patch yet and I'm assuming that you are not updating the wavetable at audio rate. I probably better check it out :)
    • Oct 19 2010 | 3:32 pm
      Hi everyone, thanks for your input/comments.
      jprocto, congratulations on 'Scanned Synth Pro' – I've been aware of it for a while and I'm looking forward to trying the demo. You've identified the main flaw, namely, that the physical model isn't being updated at audio rate. At present the msd object/buffer is being updated by a 5ms metro. I've been working on a synth that can crossfade smoothly between static waveforms (using 2d.wave~), but I'm not sure yet how I'd implement this at the rates necessary in this case.
      I'm still relatively new to max so any further advice would be great, but if I make any headway I'll post the improved version.
      Thanks again.
    • Apr 12 2011 | 2:41 pm
      This might be slightly off topic but I am also trying to figure a way to crossfade smoothly between static waveforms using 2d.wave~. Using an example given by Barry Threw in this thread I have implemented the following. There are some bugs with it that I can't figure out. You are also limited to a certain file length. Maybe it will be of some use.
    • Dec 04 2012 | 11:15 am
      does somebody can post a zipped version of scansynth~ object ? (I don't want to install stuffit on my computer...). thx a lot.
    • Dec 04 2012 | 11:46 am
      Here you go. Great stuff.
      Renewed interest in scanned sythesis hé? Got to do with this by any chance? ;)
    • Dec 08 2012 | 3:08 pm
      thx a lot. :-)