[Clam-devel] CombFilter and GenderChange
Xavier Amatriain
xavier at create.ucsb.edu
Wed Apr 18 12:35:31 PDT 2007
Again, after further testing... I am lost. It seems to me at this point
the best thing would be to run a coverage analysis (i.e. with gcov) with
a Pitch Shift in SMSTools vs. one in NetworkEditor to understand what
code is being executed in each case.
Any volunteer?
On Tue, 2007-04-17 at 14:39 -0700, Xavier Amatriain wrote:
> 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