static inline void destroy_speak_data(speak_data_s* speak_data)
{
SLOG(LOG_DEBUG, tts_tag(), "[DEBUG] utt(%d), text(%s), lang(%s), vctype(%d) speed(%d)",
- speak_data->utt_id, speak_data->text, speak_data->lang, speak_data->vctype, speak_data->speed);
+ speak_data->utt_id, speak_data->text, speak_data->voice.language, speak_data->voice.type,
+ speak_data->parameter.speed);
free(speak_data->text);
- free(speak_data->lang);
+ speak_data->text = nullptr;
+
+ free(speak_data->voice.language);
+ speak_data->voice.language = nullptr;
+
+ free(speak_data->voice.ptts_id);
+ speak_data->voice.ptts_id = nullptr;
delete speak_data;
}
}
speak_data->text = strdup(text);
- speak_data->lang = strdup(language);
-
- speak_data->vctype = voice_type;
- speak_data->speed = speed;
+ speak_data->voice.language = strdup(language);
+ speak_data->voice.ptts_id = nullptr;
+ speak_data->voice.type = voice_type;
+
+ speak_data->parameter.speed = speed;
+ speak_data->parameter.pitch = 0;
+ speak_data->parameter.volume = -1.0;
+ speak_data->parameter.bg_volume = -1.0;
speak_data->utt_id = utt_id;
return speak_data;
}
SLOG(LOG_ERROR, tts_tag(), "[DATA][%p] utt_id(%d), text(%s), lang(%s), vctype(%d), speed(%d)",
- data, data->utt_id, data->text, data->lang, data->vctype, data->speed);
+ data, data->utt_id, data->text, data->voice.language, data->voice.type, data->parameter.speed);
if (1 == data->utt_id)
app_data->utt_id_stopped = 0;
i = 0;
for (auto& speakData : app_data->m_speak_data) {
SLOG(LOG_DEBUG, tts_tag(), "[%dth][%p] lang(%s), vctype(%d), speed(%d), uttid(%d), text(%s)",
- i, speakData, speakData->lang, speakData->vctype, speakData->speed, speakData->utt_id, speakData->text);
+ i, speakData, speakData->voice.language, speakData->voice.type, speakData->parameter.speed,
+ speakData->utt_id, speakData->text);
i++;
}
fprintf(fp, "---------------------");
char* temp_lang = NULL;
int temp_type;
- if (true != ttsd_engine_select_valid_voice(speak_data->lang, speak_data->vctype, &temp_lang, &temp_type)) {
+ if (true != ttsd_engine_select_valid_voice(speak_data->voice.language, speak_data->voice.type, &temp_lang,
+ &temp_type)) {
SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] Fail to select default voice");
} else {
char value_buffer[2048] = {0, };
- snprintf(value_buffer, 2048,
- "client=%s|type=%d|speed=%d|language=%s|text=%s|error=%d",
- appid, temp_type, speak_data->speed, temp_lang, speak_data->text, ret);
+ snprintf(value_buffer, 2048, "client=%s|type=%d|speed=%d|language=%s|text=%s|error=%d", appid, temp_type,
+ speak_data->parameter.speed, temp_lang, speak_data->text, ret);
SLOG(LOG_INFO, tts_tag(), "keyVal : %s", value_buffer);
SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] Fail to get app id");
}
- if (NULL == speak_data->lang || NULL == speak_data->text) {
+ if (NULL == speak_data->voice.language || NULL == speak_data->text) {
SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] Current data is NOT valid");
__stop_and_send_ready_state(uid);
ttsd_data_destroy_speak_data(speak_data);
SLOG(LOG_INFO, tts_tag(), "-----------------------------------------------------------");
SLOG(LOG_INFO, tts_tag(), "ID : uid (%u), uttid(%d) ", g_utt.uid, g_utt.uttid);
- SLOG(LOG_INFO, tts_tag(), "Voice : langauge(%s), type(%d), speed(%d)", speak_data->lang, speak_data->vctype, speak_data->speed);
+ SLOG(LOG_INFO, tts_tag(), "Voice : language(%s), type(%d), speed(%d)", speak_data->voice.language,
+ speak_data->voice.type, speak_data->parameter.speed);
SLOG(LOG_INFO, tts_tag(), "Text : %s", speak_data->text);
SLOG(LOG_INFO, tts_tag(), "Credential : %s", credential);
SLOG(LOG_INFO, tts_tag(), "-----------------------------------------------------------");
ttsd_data_set_synth_control(TTSD_SYNTHESIS_CONTROL_DOING);
- ret = ttsd_engine_start_synthesis(speak_data->lang, speak_data->vctype, speak_data->text, speak_data->speed, appid, credential, NULL);
+ ret = ttsd_engine_start_synthesis(speak_data->voice.language, speak_data->voice.type, speak_data->text,
+ speak_data->parameter.speed, appid, credential, NULL);
if (TTSD_ERROR_NONE != ret) {
SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] * FAIL to start SYNTHESIS !!!! * ");