#include <phase_vocoder.hpp>
◆ PhaseVocoderT() [1/2]
template<typename SampleType = float>
◆ PhaseVocoderT() [2/2]
template<typename SampleType = float>
◆ config()
template<typename SampleType = float>
◆ configure()
template<typename SampleType = float>
◆ pitch_shift()
template<typename SampleType = float>
| std::vector< SampleType > pulp::signal::PhaseVocoderT< SampleType >::pitch_shift |
( |
const std::vector< SampleType > & | input, |
|
|
double | semitones ) const |
|
inline |
Pitch-shift input by semitones (positive = up), preserving duration.
Returns a new buffer the same length as input. Inputs shorter than fft_size are returned unshifted (one analysis frame is the minimum the phase vocoder can process).
◆ time_stretch()
template<typename SampleType = float>
| std::vector< SampleType > pulp::signal::PhaseVocoderT< SampleType >::time_stretch |
( |
const std::vector< SampleType > & | input, |
|
|
double | factor ) const |
|
inline |
Time-stretch input by factor (> 0).
Output is exactly round(input.size() * factor) frames long and keeps the same pitch. factor == 1 is ~identity. factor is clamped to a sane maximum (kMaxStretch) so an absurd value can't request a multi-gigabyte buffer.
The documentation for this class was generated from the following file: