Regularly no signal at the outlet of reson~ objects

Liofeu's icon

Hi,

I have a voice synthesizer, based on 5 paralel formant filters. I use the reson~ object for the paralel filters.

My problem is the following : quite often, suddenly, while the input signal and input arguments (gain, central frequency and Q) of reson~ remains the same, signal is cut (no signal) at the outlet of one or several reson~ objects.

To find back signal at the outlet, I have to reinitialize the reson~ object by copying and "pasting replacing" it (sending to it the message clear keeps the signal cut).

The strange thing is that when I copy and paste replace one of the not working reson~ objects, then sometimes another or several other reson~ objects which before were ok stops to outlet signals too ...

I can quite easily reproduce the issue just by copying and pasting the subpatch where my 5 reson~ are.

I use Max 5.1 on Mac OSX. Sorry I can't enclose the synth to help you. I don't any error in the Max window.

Until I find a solution, I think I'm going to try to use fffb object instead of reson~ one, even if it's not adviced for parameter changes (Maxhelp file : "but for the sake of speed does not accept signals for parameter changes.")

Thanks for your suggestions.

Peter McCulloch's icon

What's the nature of the signal that you're sending through it? Have you tried sending the clear message when reson~ blows up?

Also, what are your coefficients for reson~? That could be part of the issue.

brendan mccloskey's icon

I tried to duplicate this behaviour and couldn't; without seeing your patch it's going to be tricky.

Have you tried other filters? [svf~] (bandpass) and [lores~] will resonate.

Brendan

Liofeu's icon

@Peter McCulloch
- The nature of the signal is a glottal flow model, so it's periodic plus noise, sampling rate of 44100 Hz.
- The clear message doesn't make anything, the signal remains stopped.
- I have a database for different voice timbres. Approximatly :
* the amplitude coeff range is from 0 to 10 ; Acutally, I receive the dB value then it goes to "expr pow(10.0,($f1/20.0))", then to the reson~ inlet.
* the frequency range is from 300 to 5000,
* and the Q range is from 10 to 1000.
They may change very fastly (going from one to another value in 10ms) to modelize transition between consonant and vowel.

@n00b_meister
- I also tried to make a simple patch to find the problem, but when my patch becomes simple (coeffs which remains the same, input signal stable, etc...) I don't this issue anymore.
- I haven't tried other filters. I'm going to try the ones you purposed me.

Peter McCulloch's icon

I've built something similar and I'm not having a problem.

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

Instead of using one filter with a really high Q, try cascading resons (check out the vocoder in the examples folder)

Liofeu's icon

The synth was controlled by a Magic track pad (with fingerpinger object). Since I got a new (not official) release of this object (because it frequently made Max crashed), this issue with the reson~ object clearly occurs very less frequently ...

I don't know why ..

The crashing reports with fingerpinger (which doesn't occurs with this new version) were the following :

43 com.cycling74.fingerpinger     0x1e5f34cd callback(void*, Finger*, int, double, int) + 305
44 ...MultitouchSupport.framework    0x975e783f mt_ForwardBinaryContacts + 600
45 ...MultitouchSupport.framework    0x975e347e mt_HandleMultitouchFrame + 2388
46 ...MultitouchSupport.framework    0x975e1ec6 mt_DequeueDataFromDriver + 344
47 ...MultitouchSupport.framework    0x975e201f mt_DequeueMultitouchDataFromDriverThreadEntry + 176
48 libSystem.B.dylib     0x96c937fd _pthread_start + 345
49 libSystem.B.dylib     0x96c93682 thread_start + 34