Audio Effects SDK
AI-powered SDK for real-time audio enhancement.
Loading...
Searching...
No Matches
pipeline.h
Go to the documentation of this file.
1#ifndef AUDIO_EFFECTS_SDK_INCLUDE_PIPELINE_H
2#define AUDIO_EFFECTS_SDK_INCLUDE_PIPELINE_H
3
5
6#include "irelease.h"
7
8#include <cstdint>
9
10namespace audio_effects_sdk {
11
13
15enum LatencyMode : int32_t
16{
23 file = 0,
24
29
34};
35
37class IPipeline : public IRelease
38{
39public:
40 virtual bool isNoiseSuppressionEnabled() const = 0;
45 virtual void setNoiseSuppressionEnabled(bool enabled) = 0;
46
47 virtual float noiseSuppressionPower() const = 0;
52 virtual void setNoiseSuppressionPower(float value) = 0;
53
60 virtual void setLatencyMode(LatencyMode mode) = 0;
61 virtual LatencyMode latencyMode() const = 0;
62
69 virtual void setNotificationHandler(INotificationHandler* handler) = 0;
70
94 virtual uint32_t process(
95 const void* input,
96 uint32_t inputFrameNum,
97 void* output,
98 uint32_t outputFrameNum
99 ) = 0;
100
112 virtual uint32_t flush(void* output, uint32_t outputFrameNum) = 0;
113};
114
115}
116
117#endif
Notification handler.
Definition notification.h:31
Audio processing interface that applies noise suppression.
Definition pipeline.h:38
virtual void setNotificationHandler(INotificationHandler *handler)=0
Sets the notification handler.
virtual void setLatencyMode(LatencyMode mode)=0
Sets latency mode.
virtual uint32_t flush(void *output, uint32_t outputFrameNum)=0
Flushes residual audio frames from the pipeline and resets its internal state.
virtual uint32_t process(const void *input, uint32_t inputFrameNum, void *output, uint32_t outputFrameNum)=0
Performs audio processing and applies enabled audio effects.
virtual void setNoiseSuppressionPower(float value)=0
Controls the intensity of noise suppression applied to the audio stream.
virtual void setNoiseSuppressionEnabled(bool enabled)=0
Enables/disables noise suppression in the pipeline.
Definition irelease.h:7
LatencyMode
Latency mode indicates to the SDK how to handle delay based on different scenarios.
Definition pipeline.h:16
@ playback
Optimized for intermittent audio processing or loopback playing scenarios.
Definition pipeline.h:33
@ streaming
For balanced real-time audio I/O processing. (Default mode).
Definition pipeline.h:28
@ file
Audio file processing scenario.
Definition pipeline.h:23