YobeSDK  0.3.0
yobe_bio_listener.hpp
Go to the documentation of this file.
1 
7 #pragma once
8 
9 #include "sdk_build_defs.h"
10 #include "yobe_lib_util.hpp"
11 
12 namespace Yobe {
19 struct YOBE_SDK_API BioListener {
20  virtual ~BioListener() = default;
21 
22  BioListener() = default;
23  BioListener(const BioListener &) = delete;
24  BioListener(BioListener &&) noexcept = default;
25 
26  BioListener &operator=(const BioListener &) = delete;
27  BioListener &operator=(BioListener &&) noexcept = default;
28 
41  virtual Status Init(const char *license, MicOrientation mic_orientation, VoiceTarget voice_target) = 0;
42 
51  virtual Status Deinit() = 0;
52 
60  virtual Status GetStatus() const = 0;
61 
69  virtual MicOrientation GetMicOrientation() const = 0;
70 
78  virtual VoiceTarget GetVoiceTarget() const = 0;
79 
88  virtual void SetOutputGain(Yobe::OutputGain gain) = 0;
89 
98  virtual Yobe::OutputGain GetOutputGain() const = 0;
99 
118  virtual Status ProcessBuffer(const int16_t *in_samples, int16_t *out_samples, uint32_t in_sample_count,
119  uint32_t *out_sample_count) = 0;
120 
122  virtual Status ProcessBuffer(const double *in_samples, double *out_samples, uint32_t in_sample_count,
123  uint32_t *out_sample_count) = 0;
124 };
125 } // namespace Yobe
126 
Contains all Yobe-related functions and structures.
Definition: yobe_bio_listener.hpp:12
Status
Yobe status codes that give information on internal state.
Definition: yobe_lib_util.hpp:83
OutputGain
This enumeration is used to define the fixed output gain for Yobe's processed buffer....
Definition: yobe_lib_util.hpp:37
MicOrientation
This enum allows the algorithm to know how your microphones are oriented. [See Details in doxygen doc...
Definition: yobe_lib_util.hpp:55
VoiceTarget
This is used to specify whether the target voice is near or far from the microphone.
Definition: yobe_lib_util.hpp:64
The main class for utilizing the Yobe BioListener functionality.
Definition: yobe_bio_listener.hpp:19
virtual Status Deinit()=0
Cleans up the internals of the Yobe BioListener algorithm.
virtual Status ProcessBuffer(const int16_t *in_samples, int16_t *out_samples, uint32_t in_sample_count, uint32_t *out_sample_count)=0
ProcessBuffer processes two channel interleaved audio and populates the output buffer with the proces...
virtual Status GetStatus() const =0
Gets the current status of the Yobe BioListener algorithm.
virtual VoiceTarget GetVoiceTarget() const =0
Gets the voice target status for the Yobe BioListener algorithm.
virtual MicOrientation GetMicOrientation() const =0
Gets the microphone orientation of the Yobe BioListener.
virtual Status Init(const char *license, MicOrientation mic_orientation, VoiceTarget voice_target)=0
Initializes the Yobe BioListener algorithm for a specific voice target.
virtual Status ProcessBuffer(const double *in_samples, double *out_samples, uint32_t in_sample_count, uint32_t *out_sample_count)=0
ProcessBuffer processes two channel interleaved audio and populates the output buffer with the proces...
virtual void SetOutputGain(Yobe::OutputGain gain)=0
Set the output gain for the processed output.
virtual Yobe::OutputGain GetOutputGain() const =0
Get the output gain for the processed output.