|
HART
0.2.0
High level Audio Regression and Testing
|
Namespaces | |
| namespace | aliases_double |
| namespace | aliases_float |
Classes | |
| class | AudioBuffer |
| class | AudioTestBuilder |
| A DSP host used for building and running tests inside a test case. More... | |
| class | ChannelFlags |
| A set of boolean flags mapped to each audio channel. More... | |
| class | ChannelLayoutError |
| struct | CLIConfig |
| class | ConfigurationError |
| class | DSP |
| Base for DSP effects. More... | |
| class | DSPBase |
| Polymorphic base for all DSP. More... | |
| class | Envelope |
| Represents an Envelope curve for DSP parameters. More... | |
| class | EqualsTo |
| Checks whether the audio is identical to some signal. More... | |
| class | ExpectationFailureMessages |
| class | FundamentalEquals |
| Checks the fundamental frequency of the signal. More... | |
| class | GainDb |
| Applies gain in decibels to the signal. More... | |
| class | GainLinear |
| Applies linear gain (not decibels) to the signal. More... | |
| class | HardClip |
| Applies symmetrical hard clipping (no knee) to the signal. More... | |
| class | HartAssertException |
| class | IndexError |
| class | IOError |
| class | Matcher |
| Base for audio matchers. More... | |
| class | MatcherBase |
| Polymorphic base for all matchers. More... | |
| struct | MatcherFailureDetails |
| Details about matcher failure. More... | |
| class | MixedSignal |
| Produces a mix of multiple signals. More... | |
| class | Mute |
| Mutes selected channels in the signal. More... | |
| class | PeaksAt |
| Checks whether the audio peaks at specific level. More... | |
| class | PeaksBelow |
| Checks whether the audio peaks below specific level. More... | |
| class | SampleRateError |
| class | Sawtooth |
| Produces a bandlimited sawtooth wave at fixed frequency. More... | |
| class | SegmentedEnvelope |
| A simple envelope constructed from semgents. More... | |
| class | Signal |
| Base class for signals. More... | |
| class | SignalBase |
| Polymorphic base for all signals. More... | |
| class | Silence |
| Produces silence (zeros) More... | |
| class | SineSweep |
| Produces a sine sweep. More... | |
| class | SineWave |
| Produces a sine wave at fixed frequency. More... | |
| class | SizeError |
| class | StateError |
| class | TestAssertException |
| class | TestRegistry |
| Runs the test cases. More... | |
| class | UnsupportedError |
| class | ValueError |
| class | WavFile |
| Produces audio from a wav file. More... | |
| class | WavWriter |
| class | WhiteNoise |
| Produces deterministic white noise. More... | |
Typedefs | |
| using | EnvelopeBuffers = std::unordered_map< int, std::vector< double > > |
| Hash table of automation envelope sequences mapped to param ids. | |
Enumerations | |
| enum class | Save { always , whenFails , never } |
| Determines when to save a file. More... | |
| enum | Channel { left = 0 , right = 1 } |
| Helper values for channel indices. More... | |
| enum class | WavFormat { pcm16 , pcm24 , pcm32 , float32 } |
Functions | |
| std::ostream & | linPrecision (std::ostream &stream) |
| Sets number of decimal places for linear (sample) values. | |
| std::ostream & | dbPrecision (std::ostream &stream) |
| Sets number of decimal places for values in decibels. | |
| std::ostream & | secPrecision (std::ostream &stream) |
| Sets number of decimal places for values in seconds. | |
| std::ostream & | hzPrecision (std::ostream &stream) |
| Sets number of decimal places for values in hertz. | |
| std::ostream & | radPrecision (std::ostream &stream) |
| Sets number of decimal places for values in radians. | |
| std::ostream & | centsPrecision (std::ostream &stream) |
| Sets number of decimal places for values in cents (frequency deviation) | |
| template<typename NumericType > | |
| NumericType | clamp (const NumericType &value, const NumericType &low, const NumericType &high) |
std::clamp() replacement for C++11 | |
| template<typename SampleType > | |
| static SampleType | decibelsToRatio (SampleType valueDb) |
| Converts dB to linear value (ratio) | |
| template<typename SampleType > | |
| static SampleType | ratioToDecibels (SampleType valueLinear) |
| Converts linear value (ratio) to dB. | |
| template<typename SampleType > | |
| static SampleType | floatsEqual (SampleType a, SampleType b, SampleType epsilon=(SampleType) 1e-8) |
| Compares two floating point numbers within a given tolerance. | |
| template<typename SampleType > | |
| static SampleType | floatsNotEqual (SampleType a, SampleType b, SampleType epsilon=(SampleType) 1e-8) |
| Compares two floating point numbers within a given tolerance. | |
| template<typename SampleType > | |
| static size_t | roundToSizeT (SampleType x) |
Rounds a floating point value to a size_t value. | |
| template<typename SampleType > | |
| SampleType | wrapPhase (const SampleType phaseRadians) |
| Keeps phase in 0..twoPi range. | |
| static bool | isAbsolutePath (const std::string &path) |
| Checks if the provided file path is absolute. | |
| static std::string | toAbsolutePath (const std::string &path) |
| Converts path to absolute, if it's relative. | |
| template<typename KeyType , typename ValueType > | |
| static bool | contains (const std::unordered_map< KeyType, ValueType > &map, const KeyType &key) |
std::unordered_map::contains() replacement for C++11 | |
| template<typename ObjectType , typename... Args> | |
| std::unique_ptr< ObjectType > | make_unique (Args &&... args) |
std::make_unique() replacement for C++11 | |
Variables | |
| static const char * | hartAsciiArt = "88 \n88 ,d \n88 88 \n88,dPPYba, ,adPPYYba, 8b,dPPYba, MM88MMM\n88P' \"8a \"\" `Y8 88P' \"Y8 88 \n88 88 ,adPPPPP88 88 88 \n88 88 88, ,88 88 88, \n88 88 `\"8bbdP\"Y8 88 \"Y888\n" |
| static const char * | passAsciiArt = "8b,dPPYba, ,adPPYYba, ,adPPYba, ,adPPYba,\n88P' \"8a \"\" `Y8 I8[ \"\" I8[ \"\"\n88 d8 ,adPPPPP88 `\"Y8ba, `\"Y8ba, \n88b, ,a8\" 88, ,88 aa ]8I aa ]8I\n88`YbbdP\"' `\"8bbdP\"Y8 `\"YbbdP\"' `\"YbbdP\"'\n88 \n88\n" |
| static const char * | failAsciiArt = " ad88 88 88\n d8\" \"\" 88\n 88 88\nMM88MMM ,adPPYYba, 88 88\n 88 \"\" `Y8 88 88\n 88 ,adPPPPP88 88 88\n 88 88, ,88 88 88\n 88 `\"8bbdP\"Y8 88 88\n" |
| constexpr double | inf = std::numeric_limits<double>::infinity() |
| Infinity. | |
| constexpr double | oo = inf |
| Infinity. | |
| constexpr double | pi = 3.14159265358979323846 |
| pi | |
| constexpr double | twoPi = 2.0 * pi |
| 2 * pi | |
| constexpr double | halfPi = pi / 2.0 |
| pi / 2 | |
| using EnvelopeBuffers = std::unordered_map<int, std::vector<double> > |
Hash table of automation envelope sequences mapped to param ids.
Keys: Param IDs (int enums like GainDb::gainDb) Values: Sequence of automation envelope values for this Param ID, one value per frame
Definition at line 23 of file hart_dsp.hpp.
| Enumerator | |
|---|---|
| pcm16 | |
| pcm24 | |
| pcm32 | |
| float32 | |
Definition at line 6 of file hart_wavformat.hpp.
|
static |
Definition at line 8 of file hart_ascii_art.hpp.
|
static |
Definition at line 9 of file hart_ascii_art.hpp.