From 216a6667fe3174943efadb137a70113075fbe399 Mon Sep 17 00:00:00 2001 From: patrick-radius Date: Sat, 31 Dec 2016 13:04:38 +0100 Subject: [PATCH] Added float audio multiply --- AudioMultiply_F32.cpp | 20 ++++++++++++++++++++ AudioMultiply_F32.h | 12 ++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 AudioMultiply_F32.cpp create mode 100644 AudioMultiply_F32.h diff --git a/AudioMultiply_F32.cpp b/AudioMultiply_F32.cpp new file mode 100644 index 0000000..edca399 --- /dev/null +++ b/AudioMultiply_F32.cpp @@ -0,0 +1,20 @@ +#include "AudioMultiply_F32.h" + +void AudioMultiply_F32::update(void) { + audio_block_f32_t *block, *in; + + block = AudioStream_F32::receiveWritable_f32(0); + if (!block) return; + + in = AudioStream_F32::receiveReadOnly_f32(1); + if (!in) { + release(block); + return; + } + + arm_mult_f32(block->data, in->data, block->data, AUDIO_BLOCK_SAMPLES); + release(in); + + transmit(block); + release(block); +} diff --git a/AudioMultiply_F32.h b/AudioMultiply_F32.h new file mode 100644 index 0000000..08a2584 --- /dev/null +++ b/AudioMultiply_F32.h @@ -0,0 +1,12 @@ +#include +#include + +class AudioMultiply_F32 : public AudioStream_F32 +{ + public: + AudioMultiply_F32(void) : AudioStream_F32(2, inputQueueArray_f32) {}; + void update(void); + + private: + audio_block_f32_t *inputQueueArray_f32[2]; +};