[Clam-devel] CombFilter and GenderChange

Xavier Amatriain xavier at create.ucsb.edu
Tue Apr 17 14:39:41 PDT 2007


I'm sorry to say that after a few hours spent on this I am back to
square one. Actually, if instead of the Gender Change I insert a simple
SMSPitchShift the result is much worse and there are artifacts both in
the residual and the sinusoidal. Using all my local modified files I
have the same result although, as David pointed out, everything works
fine in a non-network context.

Even forcing data copy of all the inputs you get the same effect so the
only thing left to think is that the inputs are not configured correctly
due to default port construction (David's num. 3 option). I'll try to
investigate this a little tomorrow.

On Mon, 2007-04-16 at 00:33 +0200, David García Garzón wrote:
> On Diumenge 15 Abril 2007, Xavier Amatriain wrote:
> > I wasn't asking for the file you changed to make it work :) My question
> > was whether you had any hints on what made it NOT work. Did the Pitch
> > Shift stop working due to your latest work on the Gender Change or is it
> > something that has been down for much longer. In any case, don't worry
> > too much, I have a working copy and I will be able to figure it out as
> > soon as I have some time.
> 
> I told you about the U shaped output of the gender change when we were at 
> Santa Barbara, so the bug is there for long. But as the transformation has 
> been working ok on the SMSTools, i supose that it is something related to 
> making it work on the NetworkEditor. The tipical issues i found when doing 
> this are:
> - Suposing inplace modifications when it is a new object (ugly but fast 
> solution: copying it and proceed)
> - The copy is done but at some higher level (segment or frame) as NetEditor 
> deals with the low level objects, the copy is not done.
> - Copy is not needed but some format (log/linear, magbuffer/comples...) on the 
> output is expected but default objects are obtained from the port. In this 
> case, as Pau said, the solution is to prepare the output on the Do().
> 
> 
> > > Another issue i don't understand is why comb filter is filtering target
> > > frequencies (i*fundamental*amount) instead source frequencies (just
> > > i*fundamental).
> >
> > I guess my explanation the other day was not quite accurate. The
> > feedforward delay resonates frequencies that are integer multiples of
> > the target pitch and filters out the rest (with local minimums at odd
> > multiples of target/2). So, it's not that you are exactly filtering out
> > the original but rather resonating the target in the residual.
> 
> So i am listening frequencies of the old pitch. It seems to be an analysis 
> problem, not detecting the proper fundamental and then letting some harmonics 
> getting out of the shift. I cannot check whether the combfilter minimizes 
> that because the introduced noise does not let me listening  frequencies. 
> Whatever the filter resonates, resonates it a lot ;-)
> 
> 
-- 
/*********************************
 *       Xavier Amatriain        *
 *  Associate Director - MATi    *
 *  Research Director - CREATE   *
 *    UCSB, Santa Barbara CA     *
 *      1-(805)- 893 83 52       *
 ********************************/





More information about the clam-devel mailing list