Regularly no signal at the outlet of reson~ objects
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.
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.
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.
- 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.
- 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.
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)
----------begin_max5_patcher---------- 1210.3oc4ZssaaiCD8Y6uBA+X2DCdS25CEX2eiEEKjkTbUWIQCKEzzVT+suT jxotAVTSbLmkv8EYXpK7vCm4LWj99xEq1HepraUv6C96fEK99xEKzCMLvhw+ uXUS1S40Yc5KaUa4Wja97p6Lmpu7od8vuKfrldbT4i80k88ecWo4Iu5gZYl5 59334eP112l0nO6p+beUVcveIqKNd6sO1T0pd.5Ijcx8zU8M88PYqIiCuKqO +SUsa+m8k48lYSPFNcPTzvQd3vQFYM44YupPOupUw8T9IyoA05IkNL3OVtb3 vcuMhQsxKZJ65BllctLhgdADiXfLtWvG9INxFyD4bhYeVawgfPx5I4ktpssY 0XwNbl1rQn4nHgMxQDeEYmGa1Tt+vbjvcuVmnFYQ4o9OuQmpHlwQJTSRgVsc DSX7bbVUKog+pt6qm0j5YdHf5MFSQFCHZbhltrJBIBctu1N4WbG6bIFSTMgP 0BQQLqri35wNJOH0CYlnTJOsMYsaQyRwvEwDsgBwJUPlvu55Yn7GGBX9kQBM hNebbA04tPuS4.4Y9OTVrlZrKFybN0j+075xCJ8btewOoF4kDqzC+1VdQHzN NIQyKuvSwPdIg3MggF4FZr1MJjZkbhwPgIz+HGSwBhTqjSDdZLBOieHoyKxv CusEYFKcBhFC24ZLePYk3I1Hi7Rr1RQXMCFt.A8EOgVXljcSMMngsNzBsvts 8bnDMUvMUBMiuyUL8+d41s0kSxEUsmzngytDOa6kzan2SetdtoWKrDmat2T1 uWpH3IWjW997kzSRtIicsNYrUpAmVuIaFL9fYAfR+Z45.owVCjxbeqRZkUck G7j1HwhzjRX574fwvH.h0l7ibMdolZe0YsKr1BI1MdMdzPs3x8gyGCgwtdwP 7QpfIF0VAzNMp6q2c.XGBnQtonN9qmdHF4UskRjc14JVva42JxxOX0w+Lf0z yBQB+mYOOb7rfcBy5K4ELzsSgf8xtb4NKwAlH8HKKGdpoacio8ZrP04+c1Uz UriltZEwHiMNg.ZEQ9spGsLSiANlfu0dzl5bloXSuL6+8W.M2TT.M1DzlaiS Rt0aYhgJ3.ZZRryiSsKK+eCdv5aHDudlX3BSOBhr1zD2WMPcUaIDQk6vsbxQ Rha9fNBs+BTQHKmNY6.KMj2EYsBVtQDV754ISxCbg1KiRsV3M+2r3Sl7P3oy Gex8uBQ+0DZjmXlW.8LlP.RZSeaZckW7Y2om6gw+U1qS9397iK8ieyZA+b1K J65qZy5qjsmbQw+x07ophhR8oOtPapJ1IqZ6GwPvGO6VITHMzVlYgzKvsywT D.L8Bf6ZLk..R3hHHabBTQDnssDbMkfru8B6MWiIADHotFJZHJF.hPdeChpD AUHAQ6dnzeDgDEnkDdHJE.hdkASXzjgWy3wuXpT1y+CArR8tfLzTuyQjgb5A f7DYdmlNGUMcNA5NGdXhARVG2DfoPB9gqOGGRhTbboIdLPKbleAIJpPR.Job ApNcBnZSb+BRTbgDE5NGhAUfHWJvMEEPacBbKnhAxBG2DB3L+KrBj7lD3FVQ .JrBttcbvlSHJhCZuC4bdgjgo.2ZC3fJ.E2F0wgjT.+sHYp9yOV9e3DgQB. -----------end_max5_patcher-----------
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