Browse Source

语音流程最简版初步稳定

master
zhaohe 2 years ago
parent
commit
8f6c55afd0
  1. 2
      src/main.cpp
  2. 4
      src/service/main_control_service.cpp
  3. 4
      src/service/voiceprocess/audio_recoder_service.cpp

2
src/main.cpp

@ -179,7 +179,7 @@ int Main::main(int argc, char *argv[]) {
// 播放器-SmartSoundBoxPlayer
BUILD_AND_REG_SERRVICE(SmartSoundBoxPlayer);
GET_SERVICE(SmartSoundBoxPlayer)->initialize(50, 50);
GET_SERVICE(SmartSoundBoxPlayer)->initialize(100, 30);
/**
* @brief
*/

4
src/service/main_control_service.cpp

@ -104,8 +104,9 @@ void MainControlService::initializeVoiceProcess() {
void MainControlService::triggerProcessConversationSession() {
m_smartSoundboxPlayer->playConversationTTS(m_conversationSession->getAsrTTSLocalURL(), nullptr);
json nlpResult = m_conversationSession->getNlpResult();
if (nlpResult["data"]["intent"]["shouldEndSession"]) {
if (nlpResult["data"]["intent"]["shouldEndSession"] == "true") {
logger->info("endSession");
if (m_endsessionTimer->isRunning()) m_endsessionTimer->stop();
endSession();
return;
}
@ -179,6 +180,7 @@ void MainControlService::constructSession() {
m_smartSoundboxPlayer->triggerWakeup();
if (m_conversationSession) {
if (m_endsessionTimer->isRunning()) m_endsessionTimer->stop();
endSession();
}

4
src/service/voiceprocess/audio_recoder_service.cpp

@ -4,7 +4,7 @@ using namespace std;
using namespace iflytop;
using namespace core;
#define TEST
// #define TEST
AudioRecoderService::AudioRecoderService() {}
void AudioRecoderService::initialize(const char *pcmName, unsigned int channels, unsigned int sample_rate,
@ -44,7 +44,7 @@ void AudioRecoderService::startRecord() {
audioclip.reset(new AudioClip(buf, 8000, 5, 16000, AudioFormat::S16_LE));
logger->info("report audioclip {}", 8000);
onRecordData(audioclip);
thisThread.sleepForMs(60);
thisThread.sleepForMs(70);
}
logger->info("testAudio thread exit");
}));

Loading…
Cancel
Save