21template <
typename SampleType>
32 m_inputAudio (inputAudio),
33 m_outputAudio (outputAudio),
34 m_cache (std::make_shared<Cache>())
53 if (m_cache->inputSpectrum ==
nullptr)
54 m_cache->inputSpectrum = std::make_shared<
Spectrum> (m_inputAudio);
56 return *m_cache->inputSpectrum;
62 if (m_cache->outputSpectrum ==
nullptr)
63 m_cache->outputSpectrum = std::make_shared<
Spectrum> (m_outputAudio);
65 return *m_cache->outputSpectrum;
71 mutable std::shared_ptr<
Spectrum> inputSpectrum =
nullptr;
72 mutable std::shared_ptr<
Spectrum> outputSpectrum =
nullptr;
78 std::shared_ptr<Cache> m_cache;
Contains audio-related artefacts useful for analysis by matchers.
const AudioBuffer< SampleType > & inputAudio() const
Returns a buffer with input audio.
const AudioBuffer< SampleType > & outputAudio() const
Returns a buffer with output audio.
const Spectrum & outputSpectrum() const
Returns a spectrum of the output audio.
AnalysisContext(const AudioBuffer< SampleType > &inputAudio, const AudioBuffer< SampleType > &outputAudio)
Creates an instance of analysis context.
const Spectrum & inputSpectrum() const
Returns a spectrum of the input audio.
Container for audio data.
Frequency-domain representation of a multi-channel audio signal.