Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Speexenc crushing (Read 17872 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

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

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

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 ?

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.

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?

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)

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.

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

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.

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?




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

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.

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.

Speexenc crushing

Reply #13
and make sure you don't have foo_input_celt installed.

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.