|
Audaspace 1.8.0
A high level audio library.
|
This class reads from another reader and applies time-stretching and pitch scaling. More...
#include <TimeStretchPitchScaleReader.h>

Public Member Functions | |
| TimeStretchPitchScaleReader (std::shared_ptr< IReader > reader, double timeRatio, double pitchScale, StretcherQuality quality, bool preserveFormant) | |
| Creates a new stretcher reader. | |
| virtual void | read (int &length, bool &eos, sample_t *buffer) |
| Request to read the next length samples out of the source. | |
| virtual void | seek (int position) |
| Seeks to a specific position in the source. | |
| virtual int | getLength () const |
| Returns an approximated length of the source in samples. | |
| virtual int | getPosition () const |
| Returns the position of the source as a sample count value. | |
| double | getTimeRatio () const |
| Retrieves the current time ratio for the stretcher. | |
| void | setTimeRatio (double timeRatio) |
| Sets the time ratio for the stretcher. | |
| double | getPitchScale () const |
| Retrieves the pitch scale for the stretcher. | |
| void | setPitchScale (double pitchScale) |
| Sets the pitch scale for the stretcher. | |
| Public Member Functions inherited from EffectReader | |
| EffectReader (std::shared_ptr< IReader > reader) | |
| Creates a new effect reader. | |
| virtual | ~EffectReader () |
| Destroys the reader. | |
| virtual bool | isSeekable () const |
| Tells whether the source provides seeking functionality or not. | |
| virtual Specs | getSpecs () const |
| Returns the specification of the reader. | |
| Public Member Functions inherited from IReader | |
| virtual | ~IReader () |
| Destroys the reader. | |
Protected Member Functions | |
| void | reset () |
| Feeds the number of required zero samples to the stretcher and queries the amount of samples to drop. | |
Protected Attributes | |
| std::unique_ptr< RubberBandStretcher > | m_stretcher |
| Rubberband stretcher. | |
| int | m_position |
| The current position. | |
| bool | m_finishedReader |
| Whether the reader has reached the end of stream. | |
| Protected Attributes inherited from EffectReader | |
| std::shared_ptr< IReader > | m_reader |
| The reader to read from. | |
This class reads from another reader and applies time-stretching and pitch scaling.
| TimeStretchPitchScaleReader::TimeStretchPitchScaleReader | ( | std::shared_ptr< IReader > | reader, |
| double | timeRatio, | ||
| double | pitchScale, | ||
| StretcherQuality | quality, | ||
| bool | preserveFormant ) |
Creates a new stretcher reader.
| reader | The reader to read from. |
| timeRatio | The factor by which to stretch or compress time. |
| pitchScale | The factor by which to adjust the pitch. |
| quality | The processing quality level of the stretcher. |
| preserveFormant | Whether to preserve the vocal formants for the stretcher. |
|
virtual |
Returns an approximated length of the source in samples.
Reimplemented from EffectReader.
| double TimeStretchPitchScaleReader::getPitchScale | ( | ) | const |
Retrieves the pitch scale for the stretcher.
|
virtual |
Returns the position of the source as a sample count value.
Reimplemented from EffectReader.
| double TimeStretchPitchScaleReader::getTimeRatio | ( | ) | const |
Retrieves the current time ratio for the stretcher.
|
virtual |
Request to read the next length samples out of the source.
The buffer supplied has the needed size.
| [in,out] | length | The count of samples that should be read. Shall contain the real count of samples after reading, in case there were only fewer samples available. A smaller value also indicates the end of the reader. |
| [out] | eos | End of stream, whether the end is reached or not. |
| [in] | buffer | The pointer to the buffer to read into. |
Reimplemented from EffectReader.
Reimplemented in AnimateableTimeStretchPitchScaleReader.
|
virtual |
Seeks to a specific position in the source.
| position | The position to seek for measured in samples. To get from a given time to the samples you simply have to multiply the time value in seconds with the sample rate of the reader. |
Reimplemented from EffectReader.
Reimplemented in AnimateableTimeStretchPitchScaleReader.