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. Thank you, Fabien
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.
> 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, Fabien