[Vorbis-dev] Ogg Vorbis questions
Hans Petter Selasky
hselasky at c2i.net
Thu Apr 20 05:04:30 PDT 2006
Hi,
I'm currently working on a paper describing Ogg Vorbis. It is not finished
yet. Mostly the decoder is being described. If you have any comments, please
send them to me. See:
http://www.turbocat.net/~hselasky/math/vorbis/files/
Then I have a question about the function "bark_noise_hybridmp()" which is
used in the encoder. Can someone describe what the function does in detail?
From what I can see it performs various kinds of correlation, but I don't see
through it.
At last I want to point out that at low bit-rates, like 24kBit/sec, Ogg Vorbis
has trouble with "S" sounds. I thought it would be smarter to generate such
sounds using a white noise generator coupled with a FIR filter, than using
MDCT. Or maybe it is a problem in the encoder? What do you think?
Also see:
http://www.turbocat.net/~hselasky/math/image_sound/
A white noise generator is as simple as this:
#define PRIME 0xffff1d /* a special prime number */
/* outputs 24-bit signed samples */
static int32_t
get_white_noise(void)
{
static u_int32_t white_noise_rem = 1;
u_int32_t temp;
if (white_noise_rem & 1) {
white_noise_rem += PRIME;
}
white_noise_rem /= 2;
temp = white_noise_rem;
temp ^= 0x800000; /* signed to unsigned conversion */
if(temp & 0x800000) {
temp |= (-0x800000); /* sign extension */
}
return temp;
}
--HPS
More information about the Vorbis-dev
mailing list