diff --git a/mod_dub/tts_vendor_parser.cpp b/mod_dub/tts_vendor_parser.cpp index 48a47d4..2655ff4 100644 --- a/mod_dub/tts_vendor_parser.cpp +++ b/mod_dub/tts_vendor_parser.cpp @@ -378,7 +378,10 @@ switch_status_t playht_parse_text(const std::map& para cJSON_AddStringToObject(jResult, "quality", quality.c_str()); } if (!speed.empty()) { - cJSON_AddNumberToObject(jResult, "speed", atoi(speed.c_str())); + double val = strtod(speed.c_str(), NULL); + if (val != 0.0) { + cJSON_AddNumberToObject(jResult, "speed", val); + } } if (!seed.empty()) { cJSON_AddNumberToObject(jResult, "seed", atoi(seed.c_str())); diff --git a/mod_playht_tts/playht_glue.cpp b/mod_playht_tts/playht_glue.cpp index d814016..c5cad47 100644 --- a/mod_playht_tts/playht_glue.cpp +++ b/mod_playht_tts/playht_glue.cpp @@ -774,7 +774,10 @@ extern "C" { cJSON_AddStringToObject(jResult, "quality", p->quality); } if (p->speed) { - cJSON_AddNumberToObject(jResult, "speed", atoi(p->speed)); + double val = strtod(p->speed, NULL); + if (val != 0.0) { + cJSON_AddNumberToObject(jResult, "speed", val); + } } if (p->seed) { cJSON_AddNumberToObject(jResult, "seed", atoi(p->seed));