tts_commandline: introduce the rate parameter, decrease useless verbosity

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@14885 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Mathieu Parent 2009-09-16 17:34:24 +00:00
parent 82170c5f31
commit 20e90188da
2 changed files with 6 additions and 9 deletions

View File

@ -47,6 +47,7 @@ SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_command, globals.command);
struct tts_commandline_data { struct tts_commandline_data {
switch_file_handle_t fh; switch_file_handle_t fh;
char *voice_name; char *voice_name;
int rate;
char file[512]; char file[512];
}; };
@ -85,8 +86,6 @@ static void event_handler(switch_event_t *event)
if (event->event_id == SWITCH_EVENT_RELOADXML) { if (event->event_id == SWITCH_EVENT_RELOADXML) {
if (load_tts_commandline_config() != SWITCH_STATUS_SUCCESS) { if (load_tts_commandline_config() != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Failed to reload config file\n"); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Failed to reload config file\n");
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Con\n");
} }
} }
} }
@ -104,6 +103,7 @@ static switch_status_t tts_commandline_speech_open(switch_speech_handle_t *sh, c
tts_commandline_t *info = switch_core_alloc(sh->memory_pool, sizeof(*info)); tts_commandline_t *info = switch_core_alloc(sh->memory_pool, sizeof(*info));
info->voice_name = switch_core_strdup(sh->memory_pool, voice_name); info->voice_name = switch_core_strdup(sh->memory_pool, voice_name);
info->rate = rate;
switch_snprintf(info->file, sizeof(info->file), "%s%s.wav", SWITCH_GLOBAL_dirs.temp_dir, "tts_commandline"); switch_snprintf(info->file, sizeof(info->file), "%s%s.wav", SWITCH_GLOBAL_dirs.temp_dir, "tts_commandline");
@ -114,8 +114,6 @@ static switch_status_t tts_commandline_speech_open(switch_speech_handle_t *sh, c
static switch_status_t tts_commandline_speech_close(switch_speech_handle_t *sh, switch_speech_flag_t *flags) static switch_status_t tts_commandline_speech_close(switch_speech_handle_t *sh, switch_speech_flag_t *flags)
{ {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "tts_commandline_speech_close(?,%u)\n", *flags);
tts_commandline_t *info = (tts_commandline_t *) sh->private_info; tts_commandline_t *info = (tts_commandline_t *) sh->private_info;
assert(info != NULL); assert(info != NULL);
@ -130,9 +128,12 @@ static switch_status_t tts_commandline_speech_feed_tts(switch_speech_handle_t *s
assert(info != NULL); assert(info != NULL);
char *message; char *message;
char *rate;
message = switch_core_strdup(sh->memory_pool, globals.command); message = switch_core_strdup(sh->memory_pool, globals.command);
message = switch_string_replace(message, "${text}", text); message = switch_string_replace(message, "${text}", text);
message = switch_string_replace(message, "${voice}", info->voice_name); message = switch_string_replace(message, "${voice}", info->voice_name);
rate = switch_core_sprintf(sh->memory_pool, "%d", info->rate);
message = switch_string_replace(message, "${rate}", rate);
message = switch_string_replace(message, "${file}", info->file); message = switch_string_replace(message, "${file}", info->file);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Executing: %s\n", message); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Executing: %s\n", message);
@ -176,8 +177,6 @@ static switch_status_t tts_commandline_speech_read_tts(switch_speech_handle_t *s
tts_commandline_t *info = (tts_commandline_t *) sh->private_info; tts_commandline_t *info = (tts_commandline_t *) sh->private_info;
assert(info != NULL); assert(info != NULL);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "tts_commandline_speech_read_tts(?,?,%u,%u)\n", *datalen, *flags);
if (switch_core_file_read(&info->fh, data, datalen) != SWITCH_STATUS_SUCCESS) { if (switch_core_file_read(&info->fh, data, datalen) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "done\n"); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "done\n");
return SWITCH_STATUS_FALSE; return SWITCH_STATUS_FALSE;
@ -191,8 +190,6 @@ static switch_status_t tts_commandline_speech_read_tts(switch_speech_handle_t *s
static void tts_commandline_speech_flush_tts(switch_speech_handle_t *sh) static void tts_commandline_speech_flush_tts(switch_speech_handle_t *sh)
{ {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "tts_commandline_speech_flush_tts(?)\n");
tts_commandline_t *info = (tts_commandline_t *) sh->private_info; tts_commandline_t *info = (tts_commandline_t *) sh->private_info;
assert(info != NULL); assert(info != NULL);

View File

@ -6,6 +6,6 @@
${voice}: voice_name passed to TTS ${voice}: voice_name passed to TTS
${file}: output file (.wav) ${file}: output file (.wav)
--> -->
<param name="command" value="echo '${text}' | text2wave > '${file}'"/> <param name="command" value="echo '${text}' | text2wave -f ${rate} > '${file}'"/>
</settings> </settings>
</configuration> </configuration>