Re: [Freeswitch-users] [Freeswitch-dev] C SAY API
pronounced would be like for 1400 pronounced would be: one thousand, four hundred iterated would be: one, four, zero, zero this could also possibly apply to dates etc Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ AIM: anthm MSN:anthony_minessale@hotmail.com JABBER:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@66.250.68.194 iax:guest@66.250.68.194/888 googletalk:freeswitch@gmail.com pstn:213-799-1400 ----- Original Message ---- From: Nikolay Kolev <me@nikolay.com> To: freeswitch-dev@lists.freeswitch.org; freeswitch-users@lists.freeswitch.org Sent: Saturday, December 16, 2006 6:47:44 PM Subject: Re: [Freeswitch-users] [Freeswitch-dev] C SAY API The idea is great! OpenPBX seems to have one something similar, but it’s unfortunately GPL. BTW, SSM_ITTERATED is misspelled. What would be the difference between SSM_ITERATED and SSM_PRONOUNCED? Nikolay Kolev From: Anthony Minessale [mailto:anthmct@yahoo.com] Sent: Friday, December 15, 2006 3:09 PM To: freeswitch-dev@lists.freeswitch.org ; freeswitch-users@lists.freeswitch.org Subject: [Freeswitch-dev] C SAY API Hi, I'm working on a muiti-lingual say api for ivr programmers to be able to generate audio for saying numbers, counting items or expressing amounts of things such as currency. I'd like some input from anyone who has some ideas on how to make sure we cover all bases. The basic idea is that we will have an api where each new language/implementation would provide it's own version of this function. switch_status_t say(char *tosay, switch_say_gender_t gender, switch_say_type_t type, switch_say_method_t method, switch_input_callback_function_t dtmf_callback, void *buf, uint32_t buflen); The enums are described in http://www.freeswitch.org/eg/say_api.c the idea would be something like switch_say_handle_t *en; en = switch_say_load("en"); switch_ivr_play_file(session, NULL, "/sounds/youhave.wav", NULL, NULL, NULL, 0); en->say("1000", SSG_ANY, SSM_PRONOUNCED, SST_MESSAGES, NULL, NULL, 0); switch_ivr_play_file(session, NULL, "/sounds/msgs.wav", NULL, NULL, NULL, 0); Thoughts? Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ AIM: anthm MSN:anthony_minessale@hotmail.com JABBER:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@66.250.68.194 iax:guest@66.250.68.194/888 googletalk:freeswitch@gmail.com pstn:213-799-1400 __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com _______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
That applies how you want it to proceed with the preprocessor. Supply the digits to the preprocessor and it will give the list of words or filenames to sequence. 1400 we may need output, one thousand four hundred one four zero zero It is upto the user to choose it. Also with the API, switch_channel_set_variable(channel, "language", "en"); switch_channel_set_variable(channel, "language", "en","voice"); voice - indicates whose voice set to select Regards, Kannaiyan On 12/18/06, Anthony Minessale <anthmct@yahoo.com> wrote:
pronounced would be like for 1400
pronounced would be:
one thousand, four hundred
iterated would be:
one, four, zero, zero
this could also possibly apply to dates etc
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/
AIM: anthm MSN:anthony_minessale@hotmail.com JABBER:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@66.250.68.194 iax:guest@66.250.68.194/888 googletalk:freeswitch@gmail.com pstn:213-799-1400
----- Original Message ---- From: Nikolay Kolev <me@nikolay.com> To: freeswitch-dev@lists.freeswitch.org; freeswitch-users@lists.freeswitch.org Sent: Saturday, December 16, 2006 6:47:44 PM Subject: Re: [Freeswitch-users] [Freeswitch-dev] C SAY API
The idea is great!
OpenPBX seems to have one something similar, but it's unfortunately GPL.
BTW, SSM_ITTERATED is misspelled. What would be the difference between SSM_ITERATED and SSM_PRONOUNCED?
Nikolay Kolev
________________________________
From: Anthony Minessale [mailto:anthmct@yahoo.com] Sent: Friday, December 15, 2006 3:09 PM To: freeswitch-dev@lists.freeswitch.org ; freeswitch-users@lists.freeswitch.org Subject: [Freeswitch-dev] C SAY API
Hi,
I'm working on a muiti-lingual say api for ivr programmers to be able
to generate audio for saying numbers, counting items or expressing amounts of things such as currency. I'd like some input from anyone who has some ideas
on how to make sure we cover all bases.
The basic idea is that we will have an api where each new language/implementation would provide it's own version of this function.
switch_status_t say(char *tosay, switch_say_gender_t gender, switch_say_type_t type, switch_say_method_t method, switch_input_callback_function_t dtmf_callback, void *buf, uint32_t buflen);
The enums are described in http://www.freeswitch.org/eg/say_api.c
the idea would be something like
switch_say_handle_t *en;
en = switch_say_load("en");
switch_ivr_play_file(session, NULL, "/sounds/youhave.wav", NULL, NULL,
NULL,
0);
en->say("1000", SSG_ANY, SSM_PRONOUNCED, SST_MESSAGES, NULL, NULL, 0);
switch_ivr_play_file(session, NULL, "/sounds/msgs.wav", NULL, NULL, NULL, 0);
Thoughts?
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/
AIM: anthm MSN:anthony_minessale@hotmail.com JABBER:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@66.250.68.194 iax:guest@66.250.68.194/888 googletalk:freeswitch@gmail.com pstn:213-799-1400
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com _______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com _______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
If you break and store everything as separate words, then you'll be ignoring the intonation. I think there should be a table that maps phrases (a sequence of words) to a wave file. The matching algorithm should always try to find the longest phrase. This way you can improve the quality by simply recording additional phrases. Of course, the phrases should be language-specific. Probably there could be another function like this: say_sentence_text(""en", "voice", You have <messages>{0}</messages> new messages as of <datetime>{1}</datetime>", "10", "12/18/2006 10:00 AM"); But this is still language specific. Probably there could be another table that has the sentence pattern like above with some alpha-numeric ID (one map per language) and then the say_setence function can take either sentence ID or sentence pattern with a list of parameters like this: say_sentence("en", "voice", "vmail.new_messages", "10", "12/18/2006 10:00 AM"); Nikolay _____ From: Kannaiyan Natesan [mailto:gbpnkans@gmail.com] Sent: Sunday, December 17, 2006 5:29 PM To: freeswitch-users@lists.freeswitch.org Subject: Re: [Freeswitch-users] [Freeswitch-dev] C SAY API That applies how you want it to proceed with the preprocessor. Supply the digits to the preprocessor and it will give the list of words or filenames to sequence. 1400 we may need output, one thousand four hundred one four zero zero It is upto the user to choose it. Also with the API, switch_channel_set_variable(channel, "language", "en"); switch_channel_set_variable(channel, "language", "en","voice"); voice - indicates whose voice set to select Regards, Kannaiyan On 12/18/06, Anthony Minessale <anthmct@yahoo.com> wrote:
pronounced would be like for 1400
pronounced would be:
one thousand, four hundred
iterated would be:
one, four, zero, zero
this could also possibly apply to dates etc
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/
AIM: anthm MSN:anthony_minessale@hotmail.com JABBER:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@66.250.68.194 iax:guest@66.250.68.194 /888 googletalk:freeswitch@gmail.com pstn:213-799-1400
----- Original Message ---- From: Nikolay Kolev < me@nikolay.com> To: freeswitch-dev@lists.freeswitch.org; freeswitch-users@lists.freeswitch.org Sent: Saturday, December 16, 2006 6:47:44 PM Subject: Re: [Freeswitch-users] [Freeswitch-dev] C SAY API
The idea is great!
OpenPBX seems to have one something similar, but it's unfortunately GPL.
BTW, SSM_ITTERATED is misspelled. What would be the difference between SSM_ITERATED and SSM_PRONOUNCED?
Nikolay Kolev
________________________________
From: Anthony Minessale [mailto: anthmct@yahoo.com
<mailto:anthmct@yahoo.com> ]
Sent: Friday, December 15, 2006 3:09 PM To: freeswitch-dev@lists.freeswitch.org ; freeswitch-users@lists.freeswitch.org Subject: [Freeswitch-dev] C SAY API
Hi,
I'm working on a muiti-lingual say api for ivr programmers to be able
to generate audio for saying numbers, counting items or expressing amounts of things such as currency. I'd like some input from anyone who has some ideas
on how to make sure we cover all bases.
The basic idea is that we will have an api where each new language/implementation would provide it's own version of this function.
switch_status_t say(char *tosay, switch_say_gender_t gender, switch_say_type_t type, switch_say_method_t method, switch_input_callback_function_t dtmf_callback, void *buf, uint32_t buflen);
The enums are described in http://www.freeswitch.org/eg/say_api.c
the idea would be something like
switch_say_handle_t *en;
en = switch_say_load("en");
switch_ivr_play_file(session, NULL, "/sounds/youhave.wav", NULL, NULL, NULL, 0);
en->say("1000", SSG_ANY, SSM_PRONOUNCED, SST_MESSAGES, NULL, NULL, 0);
switch_ivr_play_file(session, NULL, "/sounds/msgs.wav", NULL, NULL, NULL, 0);
Thoughts?
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/
AIM: anthm MSN:anthony_minessale@hotmail.com JABBER:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@66.250.68.194 iax:guest@66.250.68.194/888 googletalk:freeswitch@gmail.com pstn:213-799-1400
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com <http://mail.yahoo.com> _______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com _______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE: <http://lists.freeswitch.org/mailman/options/freeswitch-users> http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
participants (3)
-
Anthony Minessale
-
Kannaiyan Natesan
-
Nikolay Kolev