<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi<br>
<br>
Is the click sound due to the distortion or due to some programming
logic problem.<br>
<br>
The reason is sometime back i integrated this whole encoder with the
recording application and i found out that when the encoder encodes the
whole buffer and waits for incomming buffer from recording module then
there was click sound produced in regular interval.I was trying to know
if it is the same bug i faced<br>
<br>
Best regards,<br>
Aryasheel<br>
<br>
<br>
<br>
Peter Mosedal Laursen wrote:
<blockquote
 cite="mid71012D843481F44A99975B13383AC6DCD5EAC8@post.vejlehs.dk"
 type="cite">
  <pre wrap="">________________________________

Hi David,

Thank you very much for your reply. Since I need to resample the audio in the program itself, I decided to try out the resampling API in speex.

But now, I have another problem. The resampled sound is very much distorted and clicks appear quite often. (I have attached the source code I used for testing it below).

The test data I had was a file sampled at 44100 hz stereo, 16 bits and that is currently the only file I tested it with.

What am I doing wrong in the below code?

I look forward to any replies.

Best regards,

Peter.

-- Code --

/* Compiler: Visual Studio 2005 Express

OS: Windows XP Pro SP 2

Program used to play back the output file: GoldWave

*/

#include &lt;speex/speex_resampler.h&gt;

#include &lt;stdio.h&gt;

//#pragma comment(lib, "libspeex_test.lib")

#define ReadSize 16384

int main(int argc, char* argv[]) {

// First of all, declare the resampler state

SpeexResamplerState* State = speex_resampler_init(2, 44100, 22050, 5);

short in[ReadSize];

short out[ReadSize];

FILE* fin = fopen(argv[1], "rb");

FILE* fout = fopen(argv[2], "wb");

unsigned InLength = ReadSize, OutLength = ReadSize;;

speex_resampler_skip_zeros(State);

while (1) {

// Read in the short data

fread(&amp;in, sizeof(short), ReadSize, fin);

if (feof(fin)) break;

speex_resampler_process_interleaved_int(State, in, &amp;InLength, out, &amp;OutLength);

fwrite(&amp;out, sizeof(short), OutLength, fout);

}

speex_resampler_destroy(State);

fclose(fin);

fclose(fout);

}

-- Code --

From: David Hogan [<a class="moz-txt-link-freetext" href="mailto:david.hogan@freshtel.net">mailto:david.hogan@freshtel.net</a>]
Sent: Thu 22/03/2007 22:29
To: Peter Mosedal Laursen; <a class="moz-txt-link-abbreviated" href="mailto:speex-dev@lists.xiph.org">speex-dev@lists.xiph.org</a>
Subject: [SPAM] RE: [Speex-dev] Encoding audio sampled at 44.1 khz?



Hi Peter,

Have you considered resampling the raw 44.1kHz stereo source files using
a program such as <a class="moz-txt-link-freetext" href="http://audacity.sourceforge.net/">http://audacity.sourceforge.net/</a>, say to 16kHz mono or
32kHz mono, and then using the wideband or ultrawideband speex modes to
encode the result?

Alternatively, if you want to programmatically do the resampling
yourself, you could try the new resampling API in the svn head of speex,
or the GPL library 'Secret Rabit Code'.

Hope this helps,
David Hogan

  </pre>
  <blockquote type="cite">
    <pre wrap="">-----Original Message-----
From: <a class="moz-txt-link-abbreviated" href="mailto:speex-dev-bounces@xiph.org">speex-dev-bounces@xiph.org</a>
[<a class="moz-txt-link-freetext" href="mailto:speex-dev-bounces@xiph.org">mailto:speex-dev-bounces@xiph.org</a>] On Behalf Of Peter Mosedal Laursen
Sent: Thursday, 22 March 2007 6:13 AM
To: <a class="moz-txt-link-abbreviated" href="mailto:speex-dev@lists.xiph.org">speex-dev@lists.xiph.org</a>
Subject: [Speex-dev] Encoding audio sampled at 44.1 khz?

Hi everyone,

I recently began using libspeex 1.2 Beta 1 on Windows using
MS Visual C++. I have gotten a decoder and an encoder to work
fine from the excellent sample code posted at the website.

But I face a problem. I am working on using Speex in a
program to play and create audio books encoded using Speex
(currently testing it only; for these tests, I do not use Ogg
to save the encoded frames, even though the data is saved to
a disk). Some of the files I have are files encoded at 44100
samples per second stereo. This is not music, but audio books
recorded from CDs.

Is it possible to encode those data using Speex? The files I
tested with ended up taking larger amounts of space than the
original files.

If it is not possible, I should be very glad if someone could
show me how to resample my audio at a lower sampling
frequency or point me to a place where I might learn of such
things. (I am very much a beginner when it comes to
programming with audio data).

I look forward to hearing from you.

Best regards,

Peter.

_______________________________________________
Speex-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Speex-dev@xiph.org">Speex-dev@xiph.org</a>
<a class="moz-txt-link-freetext" href="http://lists.xiph.org/mailman/listinfo/speex-dev">http://lists.xiph.org/mailman/listinfo/speex-dev</a>

    </pre>
  </blockquote>
  <pre wrap=""><!---->

_______________________________________________
Speex-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Speex-dev@xiph.org">Speex-dev@xiph.org</a>
<a class="moz-txt-link-freetext" href="http://lists.xiph.org/mailman/listinfo/speex-dev">http://lists.xiph.org/mailman/listinfo/speex-dev</a>



  </pre>
</blockquote>
</body>
</html>