16 #ifndef ALEXA_CLIENT_SDK_KWD_KITTAI_INCLUDE_KITTAI_KITTAIKEYWORDDETECTOR_H_ 17 #define ALEXA_CLIENT_SDK_KWD_KITTAI_INCLUDE_KITTAI_KITTAIKEYWORDDETECTOR_H_ 22 #include <unordered_map> 23 #include <unordered_set> 76 static std::unique_ptr<KittAiKeyWordDetector>
create(
77 std::shared_ptr<avsCommon::avs::AudioInputStream> stream,
79 std::unordered_set<std::shared_ptr<avsCommon::sdkInterfaces::KeyWordObserverInterface>> keyWordObservers,
80 std::unordered_set<std::shared_ptr<avsCommon::sdkInterfaces::KeyWordDetectorStateObserverInterface>>
81 keyWordDetectorStateObservers,
82 const std::string& resourceFilePath,
83 const std::vector<KittAiConfiguration> kittAiConfigurations,
86 std::chrono::milliseconds msToPushPerIteration = std::chrono::milliseconds(20));
114 std::shared_ptr<avsCommon::avs::AudioInputStream> stream,
116 std::unordered_set<std::shared_ptr<avsCommon::sdkInterfaces::KeyWordObserverInterface>> keyWordObservers,
117 std::unordered_set<std::shared_ptr<avsCommon::sdkInterfaces::KeyWordDetectorStateObserverInterface>>
118 keyWordDetectorStateObservers,
119 const std::string& resourceFilePath,
120 const std::vector<KittAiConfiguration> kittAiConfigurations,
123 std::chrono::milliseconds msToPushPerIteration = std::chrono::milliseconds(20));
143 void detectionLoop();
146 std::atomic<bool> m_isShuttingDown;
153 std::unordered_map<unsigned int, std::string> m_detectionResultsToKeyWords;
156 const std::shared_ptr<avsCommon::avs::AudioInputStream> m_stream;
159 std::shared_ptr<avsCommon::avs::AudioInputStream::Reader> m_streamReader;
162 std::thread m_detectionThread;
165 std::unique_ptr<SnowboyWrapper> m_kittAiEngine;
171 const size_t m_maxSamplesPerPush;
177 #endif // ALEXA_CLIENT_SDK_KWD_KITTAI_INCLUDE_KITTAI_KITTAIKEYWORDDETECTOR_H_ std::string modelFilePath
The path to the keyword model.
Definition: KittAiKeyWordDetector.h:43
~KittAiKeyWordDetector() override
Definition: KittAiKeyWordDetector.cpp:103
std::string keyword
The keyword.
Definition: KittAiKeyWordDetector.h:46
Definition: KittAiKeyWordDetector.h:36
double sensitivity
Definition: KittAiKeyWordDetector.h:53
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
static std::unique_ptr< KittAiKeyWordDetector > create(std::shared_ptr< avsCommon::avs::AudioInputStream > stream, avsCommon::utils::AudioFormat audioFormat, std::unordered_set< std::shared_ptr< avsCommon::sdkInterfaces::KeyWordObserverInterface >> keyWordObservers, std::unordered_set< std::shared_ptr< avsCommon::sdkInterfaces::KeyWordDetectorStateObserverInterface >> keyWordDetectorStateObservers, const std::string &resourceFilePath, const std::vector< KittAiConfiguration > kittAiConfigurations, float audioGain, bool applyFrontEnd, std::chrono::milliseconds msToPushPerIteration=std::chrono::milliseconds(20))
Definition: KittAiKeyWordDetector.cpp:67
Definition: AbstractKeywordDetector.h:30
Definition: KittAiKeyWordDetector.h:41