Opened 18 years ago

Closed 17 years ago

Last modified 2 years ago

#7287 closed enhancement (outdated)

TOOLS: extract with high quality resampling

Reported by: SF/logicdeluxe Owned by: fingolfin
Priority: normal Component: Tools
Version: Keywords:
Cc: Game:


Ogg Vorbis is a very nice codec in deed and the OGGENC does a very good job as well. But when it comes to resampling the input sample the results are very bad. The build in low-pass-filter is very simple and heavily reduces the frequency response in the resulting encoded file. (The optional low-pass option does not change this, as I tried it already.) So it would be very nice, if EXTRACT could do the resampling with an external tool like sr-convert (see here: ) before encoding with OGGENC. This should of course not be forced, but an option, since this high quality resampling takes a lot time.

Alternatively, since sr-convert also is open-source, you could include that high-quality resampling into extract itself.

However, there is one little catch: sr-convert does not read 11111 Hz, but this should be implemented easily. Or EXTRACT could make it 11025 instead as an approximation.

Ticket imported from: #766391. Ticket imported from: feature-requests/103.

Change History (5)

comment:1 by fingolfin, 18 years ago

An excellent sample rater converte (for arbitrary src/dst rates) is implemented in sox ( Since it can also handle MP3 and OGG already, that would seem to be a more likely candidate...

However in either case, I don't think we should duplicate code; rather, if at all, include the ability to call one of these external tools.

That said, I am not going to implement this :-)

comment:2 by fingolfin, 18 years ago

That said, my dream always has been to take the excellent (GPL) resample code from sox, and use it for the mixer in ScummVM. The only concern I had and have is that slower devices might have a problem. OTOH, one could easily revert to a linear filter for those machines, or to the cubic interpolator we use right now... The key to this simply is a "clean" design. Of course any implementation would have to deal with various combinations of mono/stereo. 8/16bits, signed/unsigned data...

comment:3 by fingolfin, 17 years ago

Owner: set to fingolfin
Resolution: outdated
Status: newclosed

comment:4 by fingolfin, 17 years ago

The extract tool in CVS doesn't do any resampling anymore - it encodes with the "native" rate of the sound (be it 11025 or 22050Hz). Any resampling is done by scummvm.

comment:5 by digitall, 2 years ago

Component: Tools
Note: See TracTickets for help on using tickets.