Skip to main content

Topic: Speexenc crushing (Read 13602 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • Anakunda
  • [*][*][*][*][*]
Speexenc crushing
Greetings,

need convert some audio files to SPX. Used the free binaries from speex.org, particulary speexenc.exe 1.2b3.
I use this string for fb2k converter:

Code: [Select]
--vbr --quality 8 - %d

I believe there's nothing bad on it.

But suddenly conversin crashes. Error report here:

Code: [Select]
1 out of 1 tracks converted with major problems.

Source: "E:\xfer\01 - Jambory.mp3"
  An error occurred while writing to file (The encoder has terminated prematurely with code -1073741819 (0xC0000005); please re-check parameters) : "C:\Users\Anakunda\AppData\Local\Temp\01 - Jambory.spx"
Additional information:
Encoder stream format: 44100Hz / 2ch / 16bps
Command line: "D:\media\speex\speexenc.exe" --vbr --quality 8 - "01 - Jambory.spx"
Working folder: C:\Users\Anakunda\AppData\Local\Temp\

  Conversion failed: The encoder has terminated prematurely with code -1073741819 (0xC0000005); please re-check parameters


speexenc does start, at least to print commandline help, just no conversion

Using Win7/x64
  • Last Edit: 29 September, 2010, 06:42:35 AM by Anakunda

  • ojdo
  • [*][*][*][*][*]
Speexenc crushing
Reply #1
When I read the manual I see the options begining with a single hyphen "-vbr", not "--vbr". And -quality 8 is not necessary as it is the default value.

Edit: removed wrong suggestion
  • Last Edit: 29 September, 2010, 07:13:21 AM by ojdo

  • Anakunda
  • [*][*][*][*][*]
Speexenc crushing
Reply #2
Hey thanks!

you were quite rite with the switches.
Now using %s does make work !

A side question, how do I force foobar2000 to use pipe instead file I/O ?

  • Yirkha
  • [*][*][*][*][*]
  • FB2K Moderator
Speexenc crushing
Reply #3
fb2k uses pipe unless you specify %s, then it uses a temporary .wav file.
The reason for crashing when using pipe input (-) might be that fb2k AFAIK uses 0xFFFFFFFF as file length in the dummy WAVE header in piped data.
Full-quoting makes you scroll past the same junk over and over.

  • Speech
  • [*][*]
Speexenc crushing
Reply #4
I'm trying to convert audio files with speexenc.exe. Its basic syntax is extremely simply:
Code: [Select]
speexenc.exe inputfilename.wav outputfilename.spx


However, when I define a conversion preset, I see that you can only define the output file name (%d); you can't define the input file name.

I would get the following error with the option %d:

Code: [Select]
1 out of 1 tracks converted with major problems.

Source: "D:\My documents\test.wav"
  An error occurred while writing to file (The encoder has terminated prematurely with code 1 (0x00000001); please re-check parameters) : "D:\My documents\test.spx"
  Additional information:
  Encoder stream format: 16000Hz / 1ch / 24bps
  Command line: "C:\Program Files (x86)\foobar2000\speexenc.exe" "test.spx"
  Working folder: D:\My documents\
  
  Conversion failed: The encoder has terminated prematurely with code 1 (0x00000001); please re-check parameters


I would get the following error with the option %s %d:

Code: [Select]
1 out of 1 tracks converted with major problems.

Source: "D:\My documents\test.wav"
  An error occurred while finalizing the encoding process (Object not found) : "D:\My documents\test.spx"
  Conversion failed: Object not found


This would be extremely basic, but I didn't find any information in the manual: where is the input file with default parameters like these ("-S --noreplaygain -V 2 - %d")?  Or, how do you define where the input file would be placed in the command line?

  • klonuo
  • [*][*][*][*]
Speexenc crushing
Reply #5
where is the input file with default parameters like these ("-S --noreplaygain -V 2 - %d")?

It's in last dash, as pipe which speexenc does not understand so you have to use temp file %s
Or, how do you define where the input file would be placed in the command line?

It's in Destination section in converter

edit: Destination section is for output file of course. For input file you don't have to worry about it (foobar uses %temp% folder)
  • Last Edit: 07 June, 2011, 08:36:40 PM by klonuo

  • Speech
  • [*][*]
Speexenc crushing
Reply #6
Thank you for your answer, but it's not clear for me: what would you put in the "parameters" field then? "%s %d" or "%d" don't work.

  • klonuo
  • [*][*][*][*]
Speexenc crushing
Reply #7
%s is temporary input file
%d is destination file

for speexenc, you should use both, as it does not accept piping from foobar

  • lvqcl
  • [*][*][*][*][*]
  • Developer
Speexenc crushing
Reply #8
"%s %d" should work.

But sometimes foobar2000 cannot recognize speex files, don't know why.

Also, only 8 and 16-bit WAV files are supported. Set "Highest BPS mode supported" to 16.
  • Last Edit: 07 June, 2011, 08:47:51 PM by lvqcl

  • Speech
  • [*][*]
Speexenc crushing
Reply #9
Thanks again, but what you say doesn't seem to work (see the output window I posted before).
Here are two screen captures; is there anything wrong with these?




  • klonuo
  • [*][*][*][*]
Speexenc crushing
Reply #10
If "source track folder" isn't read only medium, then I don't see what could be wrong

edit: OK, lvqcl posted more probable problem
  • Last Edit: 07 June, 2011, 08:57:06 PM by klonuo

  • Speech
  • [*][*]
Speexenc crushing
Reply #11
No, just My documents on the hard disk. Does it work for you? If not, I think this should be considered as a bug.

  • lvqcl
  • [*][*][*][*][*]
  • Developer
Speexenc crushing
Reply #12
In case you didn't mention: I edited my previous post and added to it:

Also, only 8 and 16-bit WAV files are supported. Set "Highest BPS mode supported" to 16.

  • lvqcl
  • [*][*][*][*][*]
  • Developer
Speexenc crushing
Reply #13
and make sure you don't have foo_input_celt installed.

  • Speech
  • [*][*]
Speexenc crushing
Reply #14
Yes! Setting the Highest BPS mode supported to 16 solved the problem (and I don't have foo_input_celt).  Thank you both for your help.