Forums > MaxMSP

Regularly no signal at the outlet of reson~ objects

July 27, 2011 | 12:26 pm

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.


July 27, 2011 | 2:40 pm

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.


July 27, 2011 | 2:43 pm

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


July 27, 2011 | 3:40 pm

@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.


July 27, 2011 | 6:57 pm

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

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

– Pasted Max Patch, click to expand. –

August 5, 2011 | 11:51 am

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


Viewing 6 posts - 1 through 6 (of 6 total)