float flite_process_output(cst_utterance *u, const char *outtype, int append) { /* Play or save (append) output to output file */ cst_wave *w; float dur; if (!u) return 0.0; w = utt_wave(u); dur = (float)w->num_samples/(float)w->sample_rate; if (cst_streq(outtype,"play")) play_wave(w); else if (cst_streq(outtype,"stream")) { /* It's already been played so do nothing */ } else if (!cst_streq(outtype,"none")) { if (append) cst_wave_append_riff(w,outtype); else cst_wave_save_riff(w,outtype); } return dur; }
float flite_tokens_to_speech(cst_utterance *u, cst_voice *voice, const char *outtype) { cst_wave *w; float durs; u = flite_synth_foo(u,voice,utt_synth_tokens); if (u == NULL) return -1; w = utt_wave(u); durs = (float)w->num_samples/(float)w->sample_rate; if (cst_streq(outtype,"play")) play_wave(w); else if (!cst_streq(outtype,"none")) cst_wave_append_riff(w,outtype); delete_utterance(u); return durs; }
int main (int agrc, char *argv[]) { exit (play_wave (argv[1])); }