Resample   Sample rate conversion 
 
You can either resample a sound to be of shorter duration/higher pitch or longer duration/lower pitch or use this module for sampling rate conversion. (Based on a paper by J. Smith)
  Input/output files: The sampling rate of the input is the reference value for the "new rate" field.

New rate: Destination sampling rate. For resampling check the "Keep old rate" checkbox and enter the amount of semitones in this field. Note that due to the logic of the conversion positive semitone shift corresponds to a lower pitched output and vice versa. To get a sound with a pitch one octave above the original one choose "-12 semi". For one octave down choose "+12 semi". For sampling rate conversion select the absolute "Hz" unit and enter the desired rate. Uncheck the "Keep old rate" gadget.

Rate modulation: Activate the checkbox if you want the rate to change dynamically over time. In the ParamField right to the checkbox choose the maximum deviation relative to the "new rate". Click on the envelope toolicon to edit the modulation curve.

Destinct right channel: Activate the checkbox if you want a different modulation on the right channel. If the input file has more than two channels the first envelope corresponds to channel 1, the second one to the highest channel, all other channels are linearly interpolated. Note that due to roundoff errors you might end up in a severe phase offset between two channels. Also note that at the moment the envelope is sampled at an interval of 4 milliseconds and not continuously.

Desired length: For resampling instead of entering the pitch shift you can enter the destination file length. The "new rate" field is updated automatically and vice versa. At the moment it is not possible to specify a destination length when the rate is modulated.

Keep old rate in header: Stupid gadget label. It means that the output file's header contains the same sampling rate as the input file. This is how you do resampling. E.g. if your input is 44.1 kHz and you choose a new rate of "+12 semi" then with this gadget checked you get an output at 44.1 kHz which is one octave down. When you uncheck this gadget you get an output at 88.2 kHz sounding exactly like the input when played back properly at 88.2 kHz.

Quality: The algorithm performs a bandlimited sinc interpolation which is the most accurate method for resampling. Unfortunately a sinc is of infinite length, therefore we have to truncate it. Shorter FIRs speed up the processing but result in slightly worse quality and a broader lowpass transition band. The FIR is stored in a table, if "Interpolate" is checked the table entries are interpolated. There's barely an audible effect but things are getting really slow.


Toolbar: Popup menus for loading and saving settings, presets and options. Refer to a the basic chapter on process windows.

Processbar: Buttons for closing the module, starting and stopping processing. Process gauge. Refer to a the basic chapter on process windows.


Known bugs: None

To be done: Continuous rate modulation.

 Contents   last modified: 18-Feb-02