38 void process_samples(
const float *samples,
unsigned int frame_count,
unsigned int channels);
49 const std::vector<float> &
spectrum()
const;
54 std::unique_ptr<Impl>
impl;
68 bool start(
const std::string &filepath,
unsigned int sample_rate,
unsigned int channels);
72 void capture(
const float *samples,
unsigned int frame_count,
unsigned int channels);
80 std::unique_ptr<Impl>
impl;
Owns the audio-reactive analysis state shared by live and file audio.
const std::vector< float > & spectrum() const
AudioAnalyzer(const AudioAnalyzer &)=delete
void set_sensitivity(float sensitivity)
unsigned int sample_rate() const
void process_samples(const float *samples, unsigned int frame_count, unsigned int channels)
AudioMetrics metrics() const
float sensitivity() const
AudioAnalyzer & operator=(const AudioAnalyzer &)=delete
static constexpr int spectrum_bin_count()
std::unique_ptr< Impl > impl
void set_sample_rate(unsigned int sample_rate)
AudioRecorder & recorder()
AudioAnalyzer & analyzer()
AudioEngine(const AudioEngine &)=delete
unsigned int input_channels() const
AudioEngine & operator=(const AudioEngine &)=delete
bool open(const AudioStreamConfig &config)
std::unique_ptr< Impl > impl
static void list_devices()
Asynchronously records interleaved float PCM samples to a 16-bit WAV file.
AudioRecorder & operator=(const AudioRecorder &)=delete
AudioRecorder(const AudioRecorder &)=delete
void capture(const float *samples, unsigned int frame_count, unsigned int channels)
void set_gain(float gain)
double duration_seconds() const
std::unique_ptr< Impl > impl
bool is_recording() const
bool start(const std::string &filepath, unsigned int sample_rate, unsigned int channels)
constexpr std::size_t FFT_SIZE