Call Center SDK  1.11.3
signal.h
1 /* Copyright 2019 ID R&D Inc. All Rights Reserved. */
2 
3 #pragma once
4 
5 #include <voicesdk/core/config.h>
6 
7 #include <memory>
8 #include <string>
9 
10 namespace voicesdk {
11 
15  class VOICE_SDK_API SNRComputer {
16  public:
17 
18  using Ptr = std::shared_ptr<SNRComputer>;
19 
27  static SNRComputer::Ptr create(const std::string &initPath);
28 
38  virtual float compute(const uint8_t *bytes, size_t bytesNum, size_t sampleRate) const = 0;
39 
49  virtual float compute(const int16_t *pcm16Samples, size_t samplesNum, size_t sampleRate) const = 0;
50 
60  virtual float compute(const float *floatSamples, size_t samplesNum, size_t sampleRate) const = 0;
61 
69  virtual float compute(const std::string &audioFile) const = 0;
70 
71  virtual ~SNRComputer() = default;
72  };
73 }
Class (interface) for calculating input voice signal signal-to-noise ratio (SNR)
Definition: signal.h:15
virtual float compute(const std::string &audioFile) const =0
Computes SNR for audio file.
static SNRComputer::Ptr create(const std::string &initPath)
Factory method for creating SNRComputer instance.
virtual float compute(const uint8_t *bytes, size_t bytesNum, size_t sampleRate) const =0
Computes SNR for PCM16 audio bytes.
virtual float compute(const float *floatSamples, size_t samplesNum, size_t sampleRate) const =0
Computes SNR for float (in [-1; 1] range) audio samples.
virtual float compute(const int16_t *pcm16Samples, size_t samplesNum, size_t sampleRate) const =0
Computes SNR for PCM16 audio samples.