I have been messing around with speex (speexenc) for a few days, have have been replacing MP3 voice with SPX voice, compressing by an additional 20% (files are 20% smaller). All well. I've been running:
Code:
lame --quite --decode file.mp3 - | speexenc - file.spx
I tried today to decode/encode an mp3 into spx, but I get a strange error onscreen:
Quote:
Only 8 kHz (narrowband) and 16 kHz (wideband) supported (plus 11.025 kHz and 22.05 kHz, but your mileage may vary)
|
I haven't seen that error before. These are the flags I tried, mixed and matched them as best I could while retaining some sanity
* --le
* --be
* --8bit
* --16bit
* -w
* -u
* -n
* --vad
* --vbr
All gave the SAME error. I am *still* able to modify *other* mp3 files without a problem.
Next, I tried to decode with lame in WAV, and then try speexenc. Nothing.
Code:
lame --decode voice.mp3 voice.wav
And I make sure the file is indeed WAV.
Code:
~$ file voice.wav
RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 24000 Hz
I've searched google a bit, and mailing lists for speex aren't helpful. Manual also doesn't show anything helpful. Any thoughts?
EDIT: The output for the lame decoding shows
Quote:
input: voice.mp3
(24 kHz, 2 channels, MPEG-2 Layer III)
output: ../WAV/voice.wav
(16 bit, Microsoft WAVE)
skipping initial 1105 samples (encoder+decoder delay)
skipping final 632 samples (encoder padding-decoder delay)
Frame#135030/135030 64 kbps MS
|
But *other* mp3 files show this when decoding to WAV
Quote:
input: other.mp3
(44.1 kHz, 1 channel, MPEG-1 Layer III)
output: ../WAV/other.wav
(16 bit, Microsoft WAVE)
skipping initial 1105 samples (encoder+decoder delay)
Frame#124035/124067 64 kbps
|
Do these differences matter? Why can't I encode to speex?