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

Kannaiyan Natesan gbpnkans at gmail.com
Sun Dec 17 08:57:39 PST 2006


With regards to the digits there are different formats around the world,

1,000,000 <- million

10,00,000  <- 10 Lakhs in india

So a generic format for the number will be good, so in future if any new
additions comes to the numbering system it will be easy to accomodate.

[1] - unit
[2] - tens
[3] - hundreds
[4-6] - thousands

for india,

[4-5] - Thousands
[6-7] - Lakhs

system will be good.

A good analysis internationally will serve easier to expand the software
internationally with less ease.

If this flexibility is not sorted in the initial stage then user need to
write own module to use in their country which I'm right now doing for
asterisk, which is utter useless with the design of the application.

Thanks.

Regards,
Kannaiyan

On 12/17/06, Kannaiyan Natesan <gbpnkans at gmail.com> wrote:
>
> vset = LoadVoiceSet("antony","en");
>
> do the operationg based upon this voiceset
>
> FreeVoiceSet(vset);
>
> This will be handy to handle mutliple language, multiple user customised
> voice prompts.
> I'm sure this is lacking in the existing pbx structures.
>
> The sound directory looks like,
>
> sound
>  |
>  |---> sequence
>  |         |
>  |         |----> language
>  |                   |
>  |                   |-----> en
>  |                   |        |----> voicemail.txt
>  |                   |-----> tamil
>  |                            |----> voicemail.txt
>  |
>  |->default
>  |  |
>  |  |-->language
>  |  |    |---> en
>  |  |    |       |----> digits
>  |  |    |       |        |-------> 0 ... 9 .(format)
>  |  |    |       |
>  |  |    |       |----> Words
>  |  |    |               |-------> you.format (you.wav, you.mp3)
>  |  |    |               |-------> have.format
>  |  |    |       ......... all possibles
>  |  |    |
>  |  |    |---> tamil
>  |              (same structure as above)
>  |
>  |->antony
>          (same as above)
>
>
> Sequence Directory:
>
> It explains you what is the framing sequence of the file you want for the
> application. Sequence of the voice file is not same for all languages that
> will vary, so there is a definite need of this sequence(name it with a right
> word) so that it will be generic to all applications.
>
> eg.,
>
> [voicemail.txt]  (forvoicemail app)
> welcome=welcome to freeswitch voicemail system
>
> in case if I use tamil language
> eg.,
> [voicemail.txt]
> welcome=freeswitch kuralanjal amaippirkku varaverkirathu
>
> I'm talking about this on each call basis, I mean it can take english
> call, tamil call, french call .... simultaneously.
>
> Just my 2 cents.
>
> Thanks.
>
> Regards,
> Kannaiyan
>
>
> On 12/17/06, Nikolay Kolev < me at nikolay.com> wrote:
> >
> >
> >
> >
> > 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]
> >  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
> > _______________________________________________
> > 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
> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20061218/31d356e9/attachment-0003.html 


More information about the FreeSWITCH-users mailing list