View Issue Details

IDProjectCategoryView StatusLast Update
0007127ardourotherpublic2016-11-20 18:15
Reporterunfa Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Product Version5.4 
Summary0007127: Ardour resampling is 8 times slower than SoX
DescriptionAccidentally I did a resampling benchmark. The source is a 24-bit stereo WAV at 44.1, I wanted to resample it to 48 kHz. However Ardours seems to do this very slow.

I tried using sox for this, and I found out Ardour is actually 8 times slower at this.

SoX - 8.5 seconds.
Ardour - 65 seconds.

This is a dramatic difference.
Can something be done to speed things up for Ardour?
Steps To Reproduce1. Prepare yourself a big WAV file using a differnt sampling rate than your normal Ardour sessions.
2. Use a sox command to convert it to your Ardour session's sampling rate (for example 48 kHz)

   time sox input.wav -r 48000 output.wav

This will also measure the execution time
3. Prepare a stopwatch.
4. Drag the input file into the Ardour session and start the stopwatch.
5. Stop the stopwatch when Ardour finishes the import.
6. Compare the two times.




Additional InformationThis is the sox command I originally used:

sox -V6 input.wav -r 48000 output.wav

The -V6 makes SoX very verbose.
TagsNo tags attached.

Activities

x42

2016-11-17 21:08

administrator   ~0018984

Can you also compare against `sndfile-resample` (ardour uses libSRC)

on import Ardour also demuxes and reformats the file, but the overhead of that is probably small.

jrigg

2016-11-19 13:21

reporter   ~0018989

Last edited: 2016-11-20 17:30

Are you comparing SRC methods of similar quality? Last time I tried sox default SRC settings it was quick but the result didn't sound as good to me as the highest quality setting in sndfile-resample.

x42

2016-11-19 13:51

administrator   ~0018990

http://src.infinitewave.ca/ FTW

jrigg

2016-11-20 18:10

reporter   ~0019012

Last edited: 2016-11-20 18:15

After further testing, I suspect that my opinion of sox vs libsamplerate SRC is subjective preference. SoX default src setting appears to use a steeper anti-alias filter than -c 0 setting in libsamplerate*. The libsamplerate SRC still sounds slightly better to my ears, but the SoX SRC is impressively quick.

*Tested by recording a 24kHz sine wave to a 96kHz file, downsampling to 48kHz using sox and libsamplerate, and comparing the spectrum plot of the result in jaaa. The libsamplerate version shows a residual 24kHz signal at -116dB, but sox version shows none at all.

Issue History

Date Modified Username Field Change
2016-11-17 19:47 unfa New Issue
2016-11-17 21:08 x42 Note Added: 0018984
2016-11-19 13:21 jrigg Note Added: 0018989
2016-11-19 13:51 x42 Note Added: 0018990
2016-11-20 17:30 jrigg Note Edited: 0018989
2016-11-20 18:10 jrigg Note Added: 0019012
2016-11-20 18:15 jrigg Note Edited: 0019012