10#include "krisp-audio-api-definitions.hpp"
14template <
typename FrameDataType>
167template <
typename FrameDataType>
168class KRISP_AUDIO_API
Nc
170 static_assert(std::is_same<FrameDataType, float>::value || std::is_same<FrameDataType, int16_t>::value,
171 "FrameDataType must be either float or int16_t");
209 const FrameDataType* inputSamples,
210 size_t numInputSamples,
211 FrameDataType* outputSamples,
212 size_t numOutputSamples,
213 float noiseSuppressionLevel = 100,
226 std::shared_ptr<NcSession<FrameDataType>> _session;
AI technology removes background noises, reverb, and background voices from the main speaker's voice ...
Definition krisp-audio-sdk-nc.hpp:169
static std::shared_ptr< Nc< FrameDataType > > create(const NcSessionConfigWithAutoModelSelect &config)
Creates a new instance of Nc session by automatically selecting one of the NC outbound models provide...
void getSessionStats(SessionStats *stats)
Retrieves noise and voice statistics calculated from the start of NC processing. To enable statistics...
static std::shared_ptr< Nc< FrameDataType > > create(const NcSessionConfig &config)
Creates a new instance of Nc session.
void process(const FrameDataType *inputSamples, size_t numInputSamples, FrameDataType *outputSamples, size_t numOutputSamples, float noiseSuppressionLevel=100, PerFrameStats *frameStats=nullptr)
Processes an input frame of audio data.
Definition krisp-audio-sdk-nc.hpp:15
Definition krisp-audio-api-definitions.hpp:34
SamplingRate
Sampling frequency of the audio frame.
Definition krisp-audio-api-definitions.hpp:38
FrameDuration
Input audio frame duration in ms.
Definition krisp-audio-api-definitions.hpp:51
CleanedSecondarySpeechStatus
Cleaned secondary speech status enum.
Definition krisp-audio-sdk-nc.hpp:98
@ Detected
Cleaned secondary speech detected in the processed frame.
@ NotDetected
Cleaned secondary speech is not detected in the processed frame.
@ Undefined
Cleaned secondary speech algorithm is not available (if non BVC model provided)
Background Voice cancelation configuration.
Definition krisp-audio-sdk-nc.hpp:48
std::vector< std::string > allowList
BVC allowed device name list.
Definition krisp-audio-sdk-nc.hpp:50
bool forceBvcForUnknownDevice
Allow BVC for unknown devices that are not in the allow and block lists. By default unknown devices a...
Definition krisp-audio-sdk-nc.hpp:60
std::string deviceName
Name of the device.
Definition krisp-audio-sdk-nc.hpp:56
std::vector< std::string > blockList
BVC not allowed device name list.
Definition krisp-audio-sdk-nc.hpp:53
Audio frame energy information struct describing noise/voice energy values.
Definition krisp-audio-sdk-nc.hpp:88
uint8_t noiseEnergy
Noise energy level, range [0,100].
Definition krisp-audio-sdk-nc.hpp:93
uint8_t voiceEnergy
Voice energy level, range [0,100].
Definition krisp-audio-sdk-nc.hpp:90
Model Info containing path to the model or it's content blob.
Definition krisp-audio-api-definitions.hpp:66
NC session configuration.
Definition krisp-audio-sdk-nc.hpp:26
bool enableSessionStats
Set true to enable collection of NC session statistics.
Definition krisp-audio-sdk-nc.hpp:40
SamplingRate inputSampleRate
Sampling frequency of the input data.
Definition krisp-audio-sdk-nc.hpp:28
RingtoneCfg * ringtoneCfg
Optional: ringtone configuration, may be provided with inbound NC models to keep ringtones.
Definition krisp-audio-sdk-nc.hpp:43
ModelInfo * modelInfo
NC model configuration.
Definition krisp-audio-sdk-nc.hpp:37
FrameDuration inputFrameDuration
Input audio frame duration.
Definition krisp-audio-sdk-nc.hpp:31
SamplingRate outputSampleRate
Sampling frequency of the output data.
Definition krisp-audio-sdk-nc.hpp:34
NC/BVC autoselect session configuration.
Definition krisp-audio-sdk-nc.hpp:65
SamplingRate inputSampleRate
Sampling frequency of the input data.
Definition krisp-audio-sdk-nc.hpp:67
std::vector< ModelInfo > modelInfoList
List of NC model configurations.
Definition krisp-audio-sdk-nc.hpp:76
bool enableSessionStats
Set true to enable collection of NC session statistics.
Definition krisp-audio-sdk-nc.hpp:79
SamplingRate outputSampleRate
Sampling frequency of the output data.
Definition krisp-audio-sdk-nc.hpp:73
BvcConfig * bvcConfig
Optional: Configuration to enable the BVC option in the autoselect logic. By default disabled....
Definition krisp-audio-sdk-nc.hpp:83
FrameDuration inputFrameDuration
Input audio frame duration.
Definition krisp-audio-sdk-nc.hpp:70
Noise stats based on the noise intensity levels.
Definition krisp-audio-sdk-nc.hpp:131
uint32_t noNoiseMs
No noise duration in ms.
Definition krisp-audio-sdk-nc.hpp:133
uint32_t cleanedSecondarySpeechNotDetectedMs
Cleaned secondary speech not detected duration in ms.
Definition krisp-audio-sdk-nc.hpp:148
uint32_t highNoiseMs
High intensity noise duration in ms.
Definition krisp-audio-sdk-nc.hpp:142
uint32_t cleanedSecondarySpeechUndefinedMs
Cleaned secondary speech undefined duration in ms (non BVC use-case)
Definition krisp-audio-sdk-nc.hpp:151
uint32_t mediumNoiseMs
Medium intensity noise duration in ms.
Definition krisp-audio-sdk-nc.hpp:139
uint32_t lowNoiseMs
Low intensity noise duration in ms.
Definition krisp-audio-sdk-nc.hpp:136
uint32_t cleanedSecondarySpeechMs
Cleaned secondary speech detected duration in ms.
Definition krisp-audio-sdk-nc.hpp:145
Per-frame information returned after NC processing of the given frame.
Definition krisp-audio-sdk-nc.hpp:111
EnergyInfo energy
Voice and noise energy info.
Definition krisp-audio-sdk-nc.hpp:113
CleanedSecondarySpeechStatus cleanedSecondarySpeechStatus
BVC specific feature. Returns the state of the removed secondary speech. If secondary speech is detec...
Definition krisp-audio-sdk-nc.hpp:119
Ringtone configuration used with inbound NC models to keep ringtones.
Definition krisp-audio-sdk-nc.hpp:19
ModelInfo modelInfo
Ringtone model configuration.
Definition krisp-audio-sdk-nc.hpp:21
NC stats containing noise and voice information.
Definition krisp-audio-sdk-nc.hpp:156
NoiseStats noiseStats
Noise stats.
Definition krisp-audio-sdk-nc.hpp:161
VoiceStats voiceStats
Voice stats.
Definition krisp-audio-sdk-nc.hpp:158
Voice stats.
Definition krisp-audio-sdk-nc.hpp:124
uint32_t talkTimeMs
Voice duration in ms.
Definition krisp-audio-sdk-nc.hpp:126