vsdk  7.1.1
Vsdk::Asr::Recognizerabstract

ConsumerModule that performs Automatic Speech Recognition. More...

Inheritance diagram for Vsdk::Asr::Recognizer:
Vsdk::Audio::ConsumerModule

Public Member Functions

auto name () const -> std::string const &
 Name of this particular Recognizer instance. More...
 
auto upTime () const -> int
 Amount of milliseconds of audio processed for the current model(s), expressed as int. More...
 
auto upTimeMs () const -> std::chrono::milliseconds
 Amount of milliseconds of audio processed for the current model(s), expressed as std::chrono::milliseconds. More...
 
virtual void setModel (std::string const &model, int startTime)=0
 Applies a new recognition model. More...
 
void setModel (std::string const &model)
 Applies a new recognition model. More...
 
virtual void setModels (std::unordered_set< std::string > const &models, int startTime)=0
 Applies multiple recognition models at the same time. More...
 
void setModels (std::unordered_set< std::string > const &models)
 Applies multiple recognition models at the same time. More...
 
- Public Member Functions inherited from Vsdk::Audio::ConsumerModule
virtual ~ConsumerModule ()=default
 

Protected Member Functions

 Recognizer (std::string name) noexcept
 
virtual void configure (nlohmann::json const &)
 
virtual bool processBuffer (Audio::Buffer const &buffer, bool last)=0
 
void dispatchEvent (EventCode code, std::string message, std::chrono::milliseconds time)
 
void dispatchError (ErrorType type, ErrorCode code, std::string message=std::string())
 
void setUpTime (double upTime)
 

Protected Attributes

std::string _name
 
double _upTime
 

Detailed Description

ConsumerModule that performs Automatic Speech Recognition.

Constructor & Destructor Documentation

◆ Recognizer()

Recognizer::Recognizer ( std::string  name)
explicitprotectednoexcept

Member Function Documentation

◆ name()

auto Recognizer::name ( ) const -> std::string const &

Name of this particular Recognizer instance.

◆ upTime()

auto Recognizer::upTime ( ) const -> int

Amount of milliseconds of audio processed for the current model(s), expressed as int.

◆ upTimeMs()

auto Recognizer::upTimeMs ( ) const -> std::chrono::milliseconds

Amount of milliseconds of audio processed for the current model(s), expressed as std::chrono::milliseconds.

◆ setModel() [1/2]

virtual void Vsdk::Asr::Recognizer::setModel ( std::string const &  model,
int  startTime 
)
pure virtual

Applies a new recognition model.

Parameters
modelFound in the configuration under asr.models
startTimeTime from which the recognizer starts processing audio again. This is usually taken from a previous result, like so:
setModel(model, hypothesis["end_time"].get<int>());
Note
Some implementations do not support the startTime parameter and will recognize again starting from the moment the model is fully loaded

◆ setModel() [2/2]

void Recognizer::setModel ( std::string const &  model)

Applies a new recognition model.

Equivalent to calling:

setModel(model, -1);

◆ setModels() [1/2]

virtual void Vsdk::Asr::Recognizer::setModels ( std::unordered_set< std::string > const &  models,
int  startTime 
)
pure virtual

Applies multiple recognition models at the same time.

Parameters
modelsFound in the configuration under asr.models
startTimeTime from which the recognizer starts processing audio again. This is usually taken from a previous result, like so:
setModel(model, hypothesis["end_time"].get<int>());
Note
Some implementations do not support the startTime parameter and will recognize again starting from the moment the models are fully loaded

◆ setModels() [2/2]

void Recognizer::setModels ( std::unordered_set< std::string > const &  models)

Applies multiple recognition models at the same time.

Equivalent to calling:

setModels(models, -1);

◆ configure()

virtual void Vsdk::Asr::Recognizer::configure ( nlohmann::json const &  )
protectedvirtual

◆ processBuffer()

virtual bool Vsdk::Asr::Recognizer::processBuffer ( Audio::Buffer const &  buffer,
bool  last 
)
protectedpure virtual
Returns
true if the buffer has been processed, else false

◆ dispatchEvent()

void Recognizer::dispatchEvent ( EventCode  code,
std::string  message,
std::chrono::milliseconds  time 
)
protected

◆ dispatchError()

void Recognizer::dispatchError ( ErrorType  type,
ErrorCode  code,
std::string  message = std::string() 
)
protected

◆ setUpTime()

void Recognizer::setUpTime ( double  upTime)
protected

Member Data Documentation

◆ _name

std::string Vsdk::Asr::Recognizer::_name
protected

◆ _upTime

double Vsdk::Asr::Recognizer::_upTime
protected
Vsdk::Asr::Recognizer::setModels
virtual void setModels(std::unordered_set< std::string > const &models, int startTime)=0
Applies multiple recognition models at the same time.
Vsdk::Asr::Recognizer::setModel
virtual void setModel(std::string const &model, int startTime)=0
Applies a new recognition model.