Audaspace
1.9.0
A high level audio library.
Toggle main menu visibility
Loading...
Searching...
No Matches
fx
TimeStretchPitchScale.h
Go to the documentation of this file.
1
/*******************************************************************************
2
* Copyright 2009-2025 Jörg Müller
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
******************************************************************************/
16
17
#pragma once
18
24
25
#include "
fx/Effect.h
"
26
27
AUD_NAMESPACE_BEGIN
28
29
enum class
StretcherQuality
30
{
31
HIGH = 0,
// Prioritize high-quality pitch processing
32
FAST = 1,
// Prioritize speed over audio quality
33
CONSISTENT = 2
// Prioritize consistency for dynamic pitch changes
34
};
35
40
class
AUD_API
TimeStretchPitchScale :
public
Effect
41
{
42
private
:
46
double
m_timeRatio;
47
51
double
m_pitchScale;
52
56
StretcherQuality m_quality;
57
61
bool
m_preserveFormant;
62
63
// delete copy constructor and operator=
64
TimeStretchPitchScale(
const
TimeStretchPitchScale&) =
delete
;
65
TimeStretchPitchScale& operator=(
const
TimeStretchPitchScale&) =
delete
;
66
67
public
:
76
TimeStretchPitchScale
(std::shared_ptr<ISound> sound,
double
timeRatio,
double
pitchScale, StretcherQuality quality,
bool
preserveFormant);
77
81
double
getTimeRatio
()
const
;
82
86
double
getPitchScale
()
const
;
87
91
bool
getPreserveFormant
()
const
;
92
96
StretcherQuality
getStretcherQuality
()
const
;
97
98
virtual
std::shared_ptr<IReader>
createReader
();
99
};
100
101
AUD_NAMESPACE_END
AUD_NAMESPACE_END
#define AUD_NAMESPACE_END
Closes the audaspace namespace aud.
Definition
Audaspace.h:119
AUD_NAMESPACE_BEGIN
#define AUD_NAMESPACE_BEGIN
Opens the audaspace namespace aud.
Definition
Audaspace.h:116
AUD_API
#define AUD_API
Used for exporting symbols in the shared library.
Definition
Audaspace.h:93
Effect.h
The Effect class.
TimeStretchPitchScale::getPreserveFormant
bool getPreserveFormant() const
Returns whether formant preservation is enabled.
TimeStretchPitchScale::createReader
virtual std::shared_ptr< IReader > createReader()
Creates a reader for playback of the sound source.
TimeStretchPitchScale::getTimeRatio
double getTimeRatio() const
Returns the time ratio.
TimeStretchPitchScale::getStretcherQuality
StretcherQuality getStretcherQuality() const
Returns the quality of the stretcher.
TimeStretchPitchScale::TimeStretchPitchScale
TimeStretchPitchScale(std::shared_ptr< ISound > sound, double timeRatio, double pitchScale, StretcherQuality quality, bool preserveFormant)
Creates a new time-stretch, pitch scaled sound.
TimeStretchPitchScale::getPitchScale
double getPitchScale() const
Returns the pitch scale.
Generated by
1.17.0