[Freeswitch-dev] [Freeswitch-users] C SAY API

Nikolay Kolev me at nikolay.com
Mon Dec 18 11:15:43 EST 2006


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 at gmail.com] 
Sent: Sunday, December 17, 2006 5:29 PM
To: freeswitch-users at 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 at 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 at hotmail.com
> JABBER:anthony.minessale at gmail.com
> IRC: irc.freenode.net #freeswitch 
> 
> FreeSWITCH Developer Conference
> sip:888 at 66.250.68.194
> iax:guest at 66.250.68.194 /888
> googletalk:freeswitch at gmail.com
> pstn:213-799-1400 
> 
> 
>  
> ----- Original Message ----
> From: Nikolay Kolev < me at nikolay.com>
> To: freeswitch-dev at lists.freeswitch.org;
> freeswitch-users at 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 at yahoo.com
<mailto:anthmct at yahoo.com> ] 
> Sent: Friday, December 15, 2006 3:09 PM
> To: freeswitch-dev at lists.freeswitch.org ;
> freeswitch-users at 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 at hotmail.com 
> JABBER:anthony.minessale at gmail.com
> IRC: irc.freenode.net #freeswitch 
>  
> 
> 
> FreeSWITCH Developer Conference 
> sip:888 at 66.250.68.194
> iax:guest at 66.250.68.194/888
> googletalk:freeswitch at 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 at 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 at 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
> 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20061218/d3ba30d3/attachment.html 


More information about the Freeswitch-dev mailing list