[Speex-dev] streaming speex frames

Barbas, Fabien Fabien.Barbas at nuance.com
Tue Sep 8 07:29:30 PDT 2009

> 2009/9/1 Barbas, Fabien <Fabien.Barbas at nuance.com>:
> > Hi,
> >
> >        I want to stream a file encoded in speex frame by frame (like a
> > phone). I don't want to decode it, nor encode it. I have a speex file on
> > disk and need to stream it one frame at a time. Speex frame size are
> > dynamic (silence is compressed, VBR, etc.) so I need the speex
> > specification to know how to read different frame "types".
> >
> >        I've looked at the speex manual, but it's an API manual. Where
> > can I look for such information? I don't mind using speex API (or binary
> > reading), but I'm not sure it's what I need. I have also read that speex
> > *may* be encoded in Ogg container. Is it always the case? If so, I guess
> > I shouldn't mind about speex and focus on Ogg.
> >
> >        If anybody has an example for reading speex stream by frames, I
> > would be thankful.
> .spx files are encapsulated in Ogg. What does a command like:
> $ file test.spx
> say about your file (here with filename "test.spx")? Or a command like
> "ogginfo"?
> Basically you probably want to start by modifying speexdec.c and
> removing the part that does the actual decoding ...
> Conrad.

I figured out that the speex files I had weren't real ones. They were modified for a specific project. For the record, oggz-info returned a duraction of 0 and file returns data, which I guess is to be expected.

Note that speex.org sample page only provides Wav files. I guess it should provide speex encoded files and if I understood your comment, the container should be Ogg.

Thank you for your help,

More information about the Speex-dev mailing list