[Speex-dev] Problem encoding sine wave in 1.1.6 and somewhat in 1.0.4

Jared Whitby jwhitby at gmail.com
Thu Jan 13 07:59:03 PST 2005


Interestingly enough.. I started playing around with preprocessing
options in 1.1.6 and happened upon the denoise filter
(SPEEX_PREPROCESS_SET_DENOISE). When i run the test tone using that
option it is completely filtered out and I just get (complete)
silence. When the test tone is intermixed with regular voice I only
get the voice. So while i still don't quite understand why the test
tone dorks up the encoder, it looks like I have a way around it.

On Tue, 11 Jan 2005 08:54:38 -0500, Jared Whitby <jwhitby at gmail.com> wrote:
> The test pattern is a part of our operations, and while it doesn't
> matter if it is reproduced accurately, after it is run through the
> encoder it never seems to recover. When only voice is used the codec
> works great with no problems seeking and playing back on 1.0.4 or
> 1.1.6.
> 
> I'm not quite sure why you didn't have a problem with the files. When
> i ran test.wav through speexenc i didn't use any special settings just
> speexenc infile outfile. I did use the windows version of speexenc...
> I guess i could try it on linux also and see what results i get. Did
> the file Speex1.1.6.spx i encoded play right for you? Or did it just
> sound right on the one you encoded?
> 
> When i encode a file using 1.1.6 mixed with voice and the test
> signal... as soon as the test signal occurs, the sound goes to garbage
> after a couple of seconds and stays that way even after the test
> signal has ended. If i seek past the test signal to good data... the
> voice data starts playing again fine.
> 
> For 1.0.4 with mixed it works fine as long as I don't seek to a point
> where the test signal is occuring. If i seek to a spot where voice
> is.. everything is still fine. Even the test signal sounds fine, as
> long as I let it play through.. and not seek to it.
> 
> Theres just something funny with that test signal that seems to put
> the encoder in a degenerate state. When seeking I believe the encoder
> state is reset so that would explain why when i seek to actual voice
> data the sound clears up.
> 
> If you have a file encoded from test.wav that seems to work properly
> could you forward it along to me so I can take a look at it?
> 
> When i use speexenc on the wav files, or my own encoder taking data
> from our hardware card I still get the same results. I guess it could
> be a problem with foobar2000 and the illiminable plugins I'm using for
> playback, though I wouldn't think both would reproduce the exact same
> results.
> 
> Jared
> 
> On Tue, 11 Jan 2005 05:38:58 -0500, Jean-Marc Valin
> <Jean-Marc.Valin at usherbrooke.ca> wrote:
> > Hi,
> >
> > The first thing I should saw is that Speex isn't designed to handle
> > sinusoids, although it shouldn't produce garbage. I checked the files
> > you upload and I've had no problem with it. Are you using any particular
> > setting? Of course, this is one example of a file for which you cannot
> > seek unless you actually seek on the decoded signal.
> >
> >         Jean-Marc
> >
> > Le lundi 10 janvier 2005 à 13:31 -0500, Jared Whitby a écrit :
> > > I am currently using speex and ogg to archive voice data. The data
> > > comes in PCM ulaw at
> > > 8kHz and I use a table look up to convert it to normal 16-bit PCM
> > > data. Whenver the sound
> > > coming in is voice everything works perfectly. However, we
> > > periodically run test signals through
> > > our system to determine link problems.. etc. This test signal totally
> > > hoses speex during
> > > playback, but only when you try to seek. If you let it play straight
> > > through everything is fine.
> > > (Speex 1.0.4 library)
> > >
> > > I figured i would try 1.1.6 and see if it got any better... It works
> > > for 2 seconds or so and goes to
> > > garbage without seeking. I tried saving a sample of the data and
> > > running it through the example
> > > encoders and got the same result.
> > >
> > > If you go to http://www.digitalfoo.com/speex/ there are 3 files.
> > >
> > > test.wav is a 8kHz 16-bit wav of our test signal.
> > >
> > > Speex1.0.4.spx is test.wav run through speexenc v1.0.4
> > >
> > > Speex1.1.6.spx is test.wav run through speexenc v1.1.6
> > >
> > >
> > > The 1.0.4 version seems fine until i try to seek to a different spot
> > > in the file.
> > >
> > > For now I have been using foobar2000 and windows media player to play
> > > the files back out
> > > until I get the encoder working properly and write my own.
> > >
> > > Anyone have any suggestions or insight into this?
> > >
> > > Jared
> > > _______________________________________________
> > > Speex-dev mailing list
> > > Speex-dev at xiph.org
> > > http://lists.xiph.org/mailman/listinfo/speex-dev
> > >
> > --
> > Jean-Marc Valin <Jean-Marc.Valin at USherbrooke.ca>
> > Université de Sherbrooke
> >
> >
> 


-- 
Jared
jwhitby at gmail.com


More information about the Speex-dev mailing list