[Speex-dev] Determining length of speex file speech
s9268716 at mail.inf.tu-dresden.de
Tue May 16 06:29:47 PDT 2006
I would like to run a script over a speex file which determines, how
long the speech contained in the speex file is.
So I run through the ogg file, skip the first two ogg _pages_ (speex
header and comment header, both contain IMHO only 1 ogg _packet_), and
then count in any ogg page the number of the ogg _frames_ (which, unless
I used -nframes while encoding, which I did not), and multiply this with
.02 (20 milliseconds).
I did this by hand, for example on the file I send yesterday when asking
about the noise, so the output of the program is:
$ readspx spfe49_1-small.spx
Page #2: 1 packets.
Page #3: 45 packets.
Page #4: 45 packets.
Page #5: 45 packets.
Page #6: 45 packets.
Page #7: 45 packets.
Page #8: 45 packets.
Calculating things per hand here 6*45 speex frames, so the speech length
should be 5.4 seconds. Unfortunately this is overestimated:
$ time speexdec spfe49_1-small.spx
Decoding 44100 Hz audio using ultra-wideband (sub-band CELP) mode (stereo)
Encoded with Speex 1.1.12
So my questions are: What does the "frame_size: 640" mean (the
information was simply read out with speex_header->frame_size).
Why does my algorithm for calculating the length of the speech in a
speex file not work?
How is the number of ogg _packets_ per ogg _frame_ set by the encoder
Q: What's the difference betweeen USL and the Graf Zeppelin?
A: The Graf Zeppelin represented cutting edge technology for its time.
Important! Please recognize my new GPG Public Key!
gpg fingerprint: 2F22 AAEB 1818 1548 EC78 1AE8 9D2E FCB4 0980 28CC
download key: wget http://www.ifsr.de/~bjoern/gpg/public_key.asc
See also: http://www.ifsr.de/~bjoern/gpg/key.html
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 256 bytes
Desc: OpenPGP digital signature
Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20060516/a08761d5/signature.pgp
More information about the Speex-dev