SHA256
38 lines
539 B
C++
38 lines
539 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
|
|
#include "r1_voice/llm.hh"
|
|
#include "r1_voice/stt.hh"
|
|
#include "r1_voice/tts.hh"
|
|
|
|
namespace r1_voice {
|
|
|
|
struct ConversationConfig {
|
|
SttConfig stt;
|
|
LlmConfig llm;
|
|
TtsConfig tts;
|
|
};
|
|
|
|
class Conversation {
|
|
public:
|
|
explicit Conversation(
|
|
ConversationConfig config
|
|
);
|
|
|
|
bool init(
|
|
const std::string& network_interface
|
|
);
|
|
|
|
void run();
|
|
|
|
private:
|
|
ConversationConfig config_;
|
|
|
|
SpeechToText stt_;
|
|
LLM llm_;
|
|
TextToSpeech tts_;
|
|
};
|
|
|
|
} // namespace r1_voice
|