Subject: Re: [codec] A pitch filtering method to improve the mode 1 CELT codec

From: Koen Vos <[email-masked]>
Date: Thu, 28 Oct 2010 03:21:31 +0200 (CEST)

The need for reliable and consistent pitch estimates is there for SILK as well: SILK uses pitch lags for both harmonic noise shaping and prediction, using the same kind of 3-tap LTP pre/post filter.  

However, the pitch estimator may have different estimation sensitivites for audio and speech signals.  So it may be useful to play around with these settings:
  PE_FLP_SHORTLAG_BIAS  /* bias towards shorter pitch lags */
  PE_FLP_PREVLAG_BIAS   /* bias towards the lag of the previous frame */
It would be trivial to make these part of the state, so that CELT and SILK can have different bias values.  

SILK's pitch estimator is pretty simple:
- partial LPC prewhitening, where the LPC order (6...16) depends on the complexity setting.
- 4x downsampled domain: full correlation search, keep a few lags with high correlation
- 2x downsampled domain: fine search with bias towards the previous pitch lag and short lags, keep winner
- input domain: fine search around winner, allowing gradual pitch variations over subframes.
I'm sure it can be improved, which would probably benefit CELT and SILK.

best,
koen.

----- Original Message -----
From: "Jean-Marc Valin" <[email-masked]>
To: "Raymond (Juin-Hwey) Chen" <[email-masked]>
Cc: "[email-masked]" <[email-masked]>, "Jean-Marc Valin" <[email-masked]>
Sent: Wednesday, October 27, 2010 6:13:07 AM
Subject: Re: [codec] A pitch filtering method to improve the mode 1 CELT codec

Hi Raymond,

On 10-10-27 02:17 AM, Raymond (Juin-Hwey) Chen wrote:
> Are you saying the problem is in the pitch estimation for that test
> file rather than the pitch filtering?

The fundamental problem is definitely with the estimation. Reliable and
consistent pitch estimation is hard. The question is thus whether it's
possible to either have a reliable enough estimator *or* have a robust
enough filtering scheme that it can tolerate occasional errors in the
estimation. I'm still working on both.

> I will take a look at that file. Is that a raw file? I am not familiar
> with the ".sw" file extension.

That's just a 48 kHz raw 16-bit PCM file (little endian). sw is just the
sox program's extension for "signed word".

> I could hear audible improvement when I tried the method on the other
> solo instrument files that I am working on, although the degree of
> improvement depends on which file it is, as expected.

Yes, I'm also observing that. What I mainly want to improve is how it
works on more complicated signals (like the one I linked to), or
non-harmonic signals. As long as we're in a situation where it improves
on a subset of
the samples while not degrading the others, I'm happy.

> I am starting to wonder how many people in the codec WG email list
> still want to continue to see our low-level technical discussions
> about the
> algorithm development in the reflector. I wonder if some people in the
> codec WG email list would prefer not to be bombarded with such emails.
> Should we consider moving such detailed codec algorithm development
> discussions off the WG mailing list and just between those of us who
> are interested or are directly involved?
>
> Or is this how IETF supposed to work (discussing all technical
> development in emails)?

I think we should keep having this discussion on the list. The IETF
lists are normally meant for technical discussions so this just helps
improve the
SNR :-)

Cheers,

Jean-Marc

_______________________________________________ codec mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/codec

---

From: Monty Montgomery <[email-masked]>
Date: Thu, 28 Oct 2010 05:47:08 -0400

On Wed, Oct 27, 2010 at 9:21 PM, Koen Vos <[email-masked]> wrote:
> The need for reliable and consistent pitch estimates is there for SILK as well:

Indeed, this problem, and the problem of a harmonic filter that does
not cause harn for non-harmonic (chord) spectra is central to the
needs of Ghost development as well.

Monty