1#ifndef ACMXVK_AUDIO_HPP
2#define ACMXVK_AUDIO_HPP
41 :
static_cast<double>(
samples.size()) /
47 const std::string &filename);
61 [[nodiscard]]
bool is_open()
const;
67 [[nodiscard]] std::vector<float>
spectrum()
const;
76 return static_cast<std::uint32_t
>(
FFT_SIZE / 2);
83 std::unique_ptr<Impl>
impl;
std::unique_ptr< Impl > impl
bool is_recording() const
AudioEngine(const AudioEngine &)=delete
AudioEngine & operator=(const AudioEngine &)=delete
float sensitivity() const
std::vector< float > spectrum() const
static constexpr std::uint32_t spectrum_bin_count()
AudioRecording stop_recording()
static constexpr std::size_t FFT_SIZE
static void list_devices()
void process_samples(const float *samples, unsigned int frame_count, unsigned int channels, unsigned int sample_rate)
unsigned int sample_rate() const
AudioMetrics metrics() const
bool open(const AudioStreamConfig &config)
double recording_time() const
void set_sensitivity(float sensitivity)
bool write_wav_file(const AudioRecording &recording, const std::string &filename)
double duration_seconds() const
std::vector< float > samples