Libresample

From Audacity Wiki
(Difference between revisions)
Jump to: navigation, search
(basic description)
 
(note on disabling both libs plus why not)
Line 1: Line 1:
 
Resampling is the operation of converting from audio represented at one sampling rate to a representation at another sample rate with minimum losses.
 
Resampling is the operation of converting from audio represented at one sampling rate to a representation at another sample rate with minimum losses.
  
libresample is audacity's implementation of the sinc function resampling algorithm, orginally produced by Dominic Mazzoni based on Julius Smith's code at Stanford. The interface is very similar to Erik de Castro Lopo's [SRC http://www.mega-nerd.com/SRC/].
+
libresample is audacity's implementation of the sinc function re-sampling algorithm, originally produced by Dominic Mazzoni based on Julius Smith's code at Stanford. The interface is very similar to Erik de Castro Lopo's [SRC http://www.mega-nerd.com/SRC/].
  
Why didn't we just use SRC? Basically it's all down to licensing. SRC and Audacity are both under the [GNU GPL http://www.gnu.org/copyleft/gpl.html], so there shouldn't be a problem. However, the GPL requires that all the other libraries that an application links against (and so depends on) must also be under compatible licenses. If audacity loads a bunch of non-free, non-open source VST plugins, does this break the GPL? We (the Audacity developers) don't think so because they are optional, run-time plugins. The FSF is not terribly clear on the issue, and Erik de Castro Lopo thinks it breaks the GPL.
+
Why didn't we just use SRC? Basically it's all down to licensing. SRC and Audacity are both under the [GNU GPL http://www.gnu.org/copyleft/gpl.html], so there shouldn't be a problem. However, the GPL requires that all the other libraries that an application links against (and so depends on) must also be under compatible licenses. If audacity loads a bunch of non-free, non-open source VST plug-ins, does this break the GPL? We (the Audacity developers) don't think so because they are optional, run-time plug-ins. The FSF is not terribly clear on the issue, and Erik de Castro Lopo thinks it breaks the GPL.
  
It's his library, so we don't release versions of audacity with SRC. However if you are building audacity for Linux, where the chances of using a closed-source binary plugin are effectively nill, you can configure audacity to link against an external copy of SRC if you wish.
+
It's his library, so we don't release versions of audacity with SRC. However if you are building audacity for Linux, where the chances of using a closed-source binary plug-in are very low, you can configure audacity to link against an external copy of SRC if you wish.
 +
 
 +
In principal it's possible to disable both libresample and libsamplerate, however because you get a version of audacity with no support for changing sample rates, it's not recommended. For a start, if you open a file created with a sample rate that your sound card doesn't support, then you won't be able to play it back.

Revision as of 11:57, 2 December 2007

Resampling is the operation of converting from audio represented at one sampling rate to a representation at another sample rate with minimum losses.

libresample is audacity's implementation of the sinc function re-sampling algorithm, originally produced by Dominic Mazzoni based on Julius Smith's code at Stanford. The interface is very similar to Erik de Castro Lopo's [SRC http://www.mega-nerd.com/SRC/].

Why didn't we just use SRC? Basically it's all down to licensing. SRC and Audacity are both under the [GNU GPL http://www.gnu.org/copyleft/gpl.html], so there shouldn't be a problem. However, the GPL requires that all the other libraries that an application links against (and so depends on) must also be under compatible licenses. If audacity loads a bunch of non-free, non-open source VST plug-ins, does this break the GPL? We (the Audacity developers) don't think so because they are optional, run-time plug-ins. The FSF is not terribly clear on the issue, and Erik de Castro Lopo thinks it breaks the GPL.

It's his library, so we don't release versions of audacity with SRC. However if you are building audacity for Linux, where the chances of using a closed-source binary plug-in are very low, you can configure audacity to link against an external copy of SRC if you wish.

In principal it's possible to disable both libresample and libsamplerate, however because you get a version of audacity with no support for changing sample rates, it's not recommended. For a start, if you open a file created with a sample rate that your sound card doesn't support, then you won't be able to play it back.

Personal tools