View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000971 | ardour | features | public | 2005-04-25 17:49 | 2007-02-15 01:41 |
Reporter | matalos2 | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | acknowledged | Resolution | open | ||
Summary | 0000971: Audition soundfiles with the proper speed in the Soundfile Library | ||||
Description | If jack is running with a samplerate of 44.1 khz and, before inserting a soundfile of 48khz, you wish to audition it, the sndfile will be played at 44.1/48 of the real speed (slower). In the oposite case the result is the soundfile being played faster. The 44.1 and 48 Samplerate values are only examples. There's a program called RESAMPLE, not libsamplerate (SRC). This program can resample soundfiles or the output of a pipe in realtime. Resample can also be used as a library, libresample I think. Link for resample: http://ccrma.stanford.edu/~jos/resample Resample is also included in PLANET CCRMA I suggest incorporating support for the resample library to do resampling in realtime (playing soundfiles with different samplerates than that jack is running with). NO harm done should be done to libsamplerate(SRC). | ||||
Tags | No tags attached. | ||||
|
I think this is really two separate but related feature requests. The first being to resample the file to match the session frame rate when auditioning and the second is supporting different resampling libraries. I would like to see both of those features implemented in ardour but in my opinion the first should have a higher priority. It is a little hard to tell the relationship between the resample utility and libresample. I get the impression that the resample utility is does not link to libresample unlike libsamplerate and sndfile-resample(I may be wrong about that) but either case it may make little difference. Supporting different resampling libraries could be implemented in several ways. I believe a typical way to do this using C++ is to define an interface(abstract base class) and then write implementations of that interface for the different libraries. A factory function could then be used to create an instance of one of the implementations. It should also be possible to compile the implementations as dll's so that there is no compile time dependence on any particular resampling library(good for testing too) and if the interface was licensed appropriately to create plugins for proprietary resampling libraries if that was desired. |
|
I agree that a class factory is the right way to implement support for different resampling libraries. What libraries are there besides libsamplerate? |
|
The only other open source library that I'm aware of is libresample that is mentioned in the bug report. There are a number of commercial and freeware ones available on other platforms though, for example: http://www.voxengo.com/product/r8brain/ http://www.izotope.com/tech/src/ |
Date Modified | Username | Field | Change |
---|---|---|---|
2005-04-25 17:49 | matalos2 | New Issue | |
2005-05-12 01:09 | taybin | Project | @2@ => ardour |
2005-05-12 01:10 | taybin | Status | new => acknowledged |
2007-02-12 07:30 | timbyr | Note Added: 0003218 | |
2007-02-12 07:31 | timbyr | Relationship added | related to 0001483 |
2007-02-15 00:49 | taybin | Note Added: 0003288 | |
2007-02-15 01:41 | timbyr | Note Added: 0003289 |