This commit is contained in:
Chris Cannam
2024-09-03 10:11:55 +01:00
parent 9580e0c63f
commit 4e8419232b

View File

@@ -49,8 +49,9 @@ namespace RubberBand
* *
* RubberBand::RubberBandLiveShifter is an interface to the Rubber * RubberBand::RubberBandLiveShifter is an interface to the Rubber
* Band Library designed for applications that need to perform * Band Library designed for applications that need to perform
* pitch-shifting only, without time-stretching, and to do so with the * pitch-shifting only, without time-stretching, and to do so in a
* shortest available processing delay. * straightforward block-by-block process with the shortest available
* processing delay.
* *
* RubberBandLiveShifter has a much simpler API than the general * RubberBandLiveShifter has a much simpler API than the general
* RubberBandStretcher. Its process function, called * RubberBandStretcher. Its process function, called
@@ -67,15 +68,15 @@ namespace RubberBand
* it only needs to be queried once and then fixed-size buffers may be * it only needs to be queried once and then fixed-size buffers may be
* passed. * passed.
* *
* Using RubberBandLiveShifter also gives a substantially shorter * Using RubberBandLiveShifter also gives a shorter processing delay
* processing delay than a typical buffering setup using * than a typical buffering setup using RubberBandStretcher, making it
* RubberBandStretcher, making it a useful choice for some live * a useful choice for some streamed or live situations. However, it
* situations, although it is still not a low-latency effect (and * is still not a low-latency effect, with a delay of 50ms or more
* never will be) with a delay of 50ms or more between input and * between input and output signals depending on configuration. (The
* output signals depending on configuration. The actual value may be * actual value may be queried via
* queried via RubberBandLiveShifter::getStartDelay(). The shifter is * RubberBandLiveShifter::getStartDelay().) The shifter is real-time
* real-time safe in the sense of avoiding allocation, locking, or * safe in the sense of avoiding allocation, locking, or blocking
* blocking operations in the processing path. * operations in the processing path.
* *
* ### Thread safety * ### Thread safety
* *