Displaying 20 results from an estimated 10000 matches similar to: "speex_bits_write()"
2004 Aug 06
0
Multiple Frames per Packet
Figures. I knew I should've just pasted my code:
..
while (ret != -1 && speex_bits_remaining(&bits) > 0);
I am using a newer version of Speex, so I guess the terminator
is a relatively new thing. I'm not even sure if it's necessary,
but I think Jean-Marc recommended using it back when I asked this
question awhile ago..?
Anyway, glad it's working for you.
Tom
2010 Apr 14
3
Decoded output buffer size
Il 14/04/2010 14:37, Randy Yates wrote:
>
> Usually a buffer is one frame of data, and a frame is 20 milliseconds.
> Since the sample rate is typically 8 kHz in narrowband mode, this
> corresponds to a buffer size of 160 samples.
Hi Randy, thanks for the reply.
So, suppose I encode an audio buffer (8000 kHz, MONO, float) of 640 PCM
frames.
In output I have 4 speex frame of 20 byte
2010 Apr 15
2
Decoded output buffer size
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Il 15/04/2010 01:30, Conrad Parker wrote:
>
>> But how can I know the size of each speex frame into a multiframe payload?
>
> use speex_bit_read_from() just once on the packet, then call
> speex_decode() once for each frame.
>
> Conrad.
Thanks for the reply, Conrad.
What is not clear for me (and I didn't found it on the
2004 Aug 06
3
Multiple Frames per Packet
David,
Here's the trick ... do this just before your speex_bits_write():
speex_bits_insert_terminator(&bits);
Then, when decoding, keep calling speex_decode() until it returns -1
or speex_bits_remaining(&bits) returns 0.
Works for me, anyway.
Tom
David Barrett (dbarrett@quinthar.com) wrote:
>
> Hi, I'm using Speex and I want to pack multiple frames into a single
>
2004 Aug 06
1
auto-detection of frame boundary
I tried feeding in the 3 encoded frame in ONE BLOCK, and calling speex_decode() 3 times in a roll. Only the 1st frames came out perfectly. For the other 2, I got "corrupt" frame warning.
I was supposed to get 38 bytes consumed each frame (narrow-band, VBR off). I tried speex_bits_remaining() to peek on the # of bits consumed, and got variable (clearly wrong)#s returned.
But if I
2010 Apr 15
0
Decoded output buffer size
On 15 April 2010 17:55, Daniele Barzotti
<daniele.barzotti at eurocomtel.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Il 15/04/2010 01:30, Conrad Parker wrote:
>>
>>> But how can I know the size of each speex frame into a multiframe payload?
>>
>> use speex_bit_read_from() just once on the packet, then call
>> speex_decode()
2005 Sep 03
2
Library export file for Win32 (patch)
This patch will export new speex functions in the generated library, such
as speex_encode_int as well as the preprocessor, echo-cancellation and
jitterbuffers. The ordinals used matches the 1.1.6 release from the
speex.org website, so any new library created with this def file should be
binary compatible with that one.
-------------- next part --------------
Index: speex.def
2010 Apr 10
2
Is Speex 1.0 and >=1.1 compatible?
Hi list,
I'm trying to figure out how to do the most compatible implementation that will
work with as many versions of Speex as possible. I am streaming multi frame
Speex blocks over a TCP connection which works fine as long as the version of
Speex is the same on both sides. When using a newer Speex (1.1.?) to encode
and an older version to decode (1.0.5), it does not work.
The encoder
2010 Apr 10
0
Is Speex 1.0 and >=1.1 compatible?
All version after 1.0 are compatible with each other and with 1.0.
Jean-Marc
On 2010-04-10 15:44, Tobias wrote:
> Hi list,
>
> I'm trying to figure out how to do the most compatible implementation that will
> work with as many versions of Speex as possible. I am streaming multi frame
> Speex blocks over a TCP connection which works fine as long as the version of
> Speex is
2010 Apr 11
0
Is Speex 1.0 and >=1.1 compatible?
The main difference is not that much in the bit-stream but in the API.
In earlier versions you had to append the terminator manually, whereas I
modifed later versions to do it automatically in case programmers forgot
(there was no reason not to do so).
Jean-Marc
On 2010-04-11 05:23, Tobias wrote:
> On Saturday 10 April 2010 21.51.55 Jean-Marc Valin wrote:
>> All version after 1.0
2005 Apr 26
1
tgAudioCodec.zip
I have (finally) posted my Speex wrapper classes. They are at:
http://www.grandgent.com/spx/tgAudioCodec.zip
I followed your recommendations and they worked fine with 1.1.0.
However, I'm still having the same problem with 1.1.7 that I had the
last time I tried to upgrade. I'm using the same code with both versions,
except for calling speex_encode_int instead of speex_encode, and
2006 Dec 09
1
one more question about speex_bits_insert_terminator and speex_bits_write
Hi everybody,
I have been examining on how I can use speex completely so I have one more
question. I looked at examples and source code and it goes on.
speex_bits_insert_terminator is called in speex_bits_write function. Shall I
call this method one more time anywhere? Because in speexenc project,
firstly speex_bits_insert_terminator is called then speex_bits_write is
called when we assume that
2006 Dec 11
0
A question about speex_bits_write function
Thanks a lot for your explanations. Is it right I understand? if I've set
SPEEX_SET_BITRATE to 16000(bps) this means that output is 16000/8=2000 bytes
and I should set MAX_FRAME_BYTES and the length of cbits to 2000. Is it
right? Maybe it is simple question but your answer is important for me,
actually thanks a lot for your helps.
Yasemin
The last argument should simply be the size of your
2006 Dec 09
1
A question about speex_bits_write function
Hi everybody,
I need clarification about speex_bits_write function usage. There is an
example usage of it.
nbBytes = speex_bits_write(&bits, cbits, MAX_FRAME_BYTES);
I examine the content of this function and which value should I set to
MAX_FRAME_BYTE. In speexenc project, it is 2000 and in manual it is 200. For
example, I set it to 200 but the length of bits->chars is 250
2010 Apr 11
2
Is Speex 1.0 and >=1.1 compatible?
On Saturday 10 April 2010 21.51.55 Jean-Marc Valin wrote:
> All version after 1.0 are compatible with each other and with 1.0.
Hi Jean-Marc and thanks for the quick reply.
I have now looked at this further and got the idea to hard code the number of
frames in the decoder temporarily as a test and voil?, it works! The problem
seem to be some incompatibility in the termination handling. After
2005 Apr 04
1
tgAudioCodec.zip
Jean-Marc Valin <Jean-Marc.Valin@USherbrooke.ca> wrote:
>
> > 1) Supporting the various versions of Speex is a nuisance, mainly
> > because there is no #define or API call to query the version.
>
> It is possible to get the version using speex_lib_ctl(int request, void
> *ptr). Possible requests are SPEEX_LIB_GET_MAJOR_VERSION,
> SPEEX_LIB_GET_MINOR_VERSION,
2007 Nov 20
0
speex_bits_write / speex_bits_read_from - getting Static
Hello,
I'm having a problem using Speex - I'm getting white noise/static from the
following process:
(Load File) -> (Encode) -> (Decode) -> (Play)
I know there's no issue with the loading or playing because (Load File)->
(Play) plays the file properly.
I believe the problem lies with the speex_bits_write and
speex_bits_read_from functions, because if I change my encode
2006 Jan 29
1
is it ok to call speex_encode_int after speex_bits_write?
I'm reliably getting a corrupt stream when I do a certain encoding and
decoding test.
I've pegged it down to this: encoding some frames, calling
speex_bits_write() and then encoding another frame produces a corrupt
stream.
My question is, is this a speex bug or incorrect API use?
I can provide a test case (currently in python, will translate to c if
needed).
Thanks,
Micky
2008 Aug 28
2
speex encode and speex_bits_write buffer size
how many calls can I make to speex_encode_int before calling
speex_bits_write? Can I stuff 10 frames?
- farhan
2008 Aug 28
0
speex encode and speex_bits_write buffer size
Ashhar Farhan a ?crit :
> how many calls can I make to speex_encode_int before calling
> speex_bits_write? Can I stuff 10 frames?
Yes. Even if you put more, it'll just auto-resize the buffer. For 10
frames, it won't even have to resize.
Cheers,
Jean-Marc