Thread: [Asterisk-java-users] Playing the voice file returned by TTS Software?
Brought to you by:
srt
From: Rounak S. <rou...@gm...> - 2013-06-03 14:47:25
|
Hello everyone, I have integrated my JAVA program(using asterisk-java) with a text-to-speech software where I send a string to the TTS software and it return me a .mp3 file (which can be converted to any desire format). Now I want this mp3 to be played to the caller. Which fastAGI command should I use to play the mp3? Do I have to first transfer my .mp3 file to Asterisk database and then ask it to run it?If yes,How should I transfer? |
From: Yves A. <yv...@gm...> - 2013-06-03 15:06:12
|
asterisk can´t handle mp3 by default.... you have to compile support for mp3 (licence issues...)... or you convert mp3 to wav (att.: wav != wav...) or gsm after tts generation.... sox can help you there.... take a look in the log / verbose cli output to see, if any error occur... soundfile has to be in the right folder..! normally: /var/lib/asterisk/sounds/ and is addressed relatively to that path... use streamFile(file) in your AGI to stream the file to the caller... yves Am 03.06.2013 16:47, schrieb Rounak Saha: > Hello everyone, > > I have integrated my JAVA program(using asterisk-java) with a > text-to-speech software where I send a string to the TTS software and > it return me a .mp3 file (which can be converted to any desire format). > > Now I want this mp3 to be played to the caller. > > Which fastAGI command should I use to play the mp3? > > Do I have to first transfer my .mp3 file to Asterisk database and then > ask it to run it?If yes,How should I transfer? > > > > > > ------------------------------------------------------------------------------ > Get 100% visibility into Java/.NET code with AppDynamics Lite > It's a free troubleshooting tool designed for production > Get down to code-level detail for bottlenecks, with <2% overhead. > Download for free and get started troubleshooting in minutes. > http://p.sf.net/sfu/appdyn_d2d_ap2 > > > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users |
From: Rounak S. <rou...@gm...> - 2013-06-03 15:25:48
|
Hii, Is it necessary for the soundFile to be in /var/lib/asterisk/sounds/?What do you exactly mean by "soundfile has to be in the right folder..!"?If yes,how can I do it? that means I have to store the voice file return by TTS software to the /var/lib/asterisk/sounds/ and then use play it, all when the caller is online!!!I think its a time taking process? What is the best way to integrate TTS with my java program? And what if my Java server and asterisk server are not in same physical system. Do I have to copy the soundFile from java server to asterisk server may be using nfs or gufer? On Mon, Jun 3, 2013 at 8:36 PM, Yves A. <yv...@gm...> wrote: > asterisk can´t handle mp3 by default.... you have to compile support for > mp3 (licence issues...)... > or you convert mp3 to wav (att.: wav != wav...) or gsm after tts > generation.... sox can help you there.... > > take a look in the log / verbose cli output to see, if any error occur... > > soundfile has to be in the right folder..! normally: > /var/lib/asterisk/sounds/ and is addressed relatively > to that path... > > use streamFile(file) in your AGI to stream the file to the caller... > > yves > > > > Am 03.06.2013 16:47, schrieb Rounak Saha: > > Hello everyone, > > I have integrated my JAVA program(using asterisk-java) with a > text-to-speech software where I send a string to the TTS software and it > return me a .mp3 file (which can be converted to any desire format). > > Now I want this mp3 to be played to the caller. > > Which fastAGI command should I use to play the mp3? > > Do I have to first transfer my .mp3 file to Asterisk database and then > ask it to run it?If yes,How should I transfer? > > > > > > ------------------------------------------------------------------------------ > Get 100% visibility into Java/.NET code with AppDynamics Lite > It's a free troubleshooting tool designed for production > Get down to code-level detail for bottlenecks, with <2% overhead. > Download for free and get started troubleshooting in minutes.http://p.sf.net/sfu/appdyn_d2d_ap2 > > > > _______________________________________________ > Asterisk-java-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > > > ------------------------------------------------------------------------------ > Get 100% visibility into Java/.NET code with AppDynamics Lite > It's a free troubleshooting tool designed for production > Get down to code-level detail for bottlenecks, with <2% overhead. > Download for free and get started troubleshooting in minutes. > http://p.sf.net/sfu/appdyn_d2d_ap2 > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > |
From: Usman R. <usm...@gm...> - 2013-06-03 15:43:43
|
you need the file to be on the asterisk server in order for the agi to play the file.Nfs could be one possible solution, if you are generating the tts file on another server. --Usman. |
From: Yves A. <yv...@gm...> - 2013-06-04 06:28:58
|
see inline... yves Am 03.06.2013 17:25, schrieb Rounak Saha: > Hii, > Is it necessary for the soundFile to be in > /var/lib/asterisk/sounds/?What do you exactly mean by "soundfile has > to be in the right folder..!"?If yes,how can I do it? I would recommend using subfolders beneath /var/lib/asterisk/sounds, e.g. /var/lib/asterisk/sounds/TTS etc. you can configure another sounddirectory in the asterisk conf files, but it is valid for ALL soundfiles (prompts etc.). > > that means I have to store the voice file return by TTS software to > the /var/lib/asterisk/sounds/ and then use play it, all when the > caller is online!!!I think its a time taking process? yes, thats right... but time taking process...? no, not really... what kind of TTS engine are you using? an online service or a serverside engine? I wrote an IVR using an online TTS and all the process of generating and retrieving the file, converting it and storing it in the right place was (of course depending on length and bandwith) a matter of less than one second. caching generated files (if the text is the same, it has not to be generated over and over again) and producing them in advance or while playing a prompt does "speed up" the process even more... I have developed a simple cashing mechanism... build a md5 of the text that has to be generated and see, if a file with that name exists... if yes, its there and can be played, if not, generate it, store it under the md5 filename and than it is there for now and for future use... > > What is the best way to integrate TTS with my java program? I have done with cepstral for linux as well as with google and with AT&T (both online...) AT&T has the best voice quality and natural sounding voices. Depending on Bandwith an offline solution is probably preferrable. > > And what if my Java server and asterisk server are not in same > physical system. > Do I have to copy the soundFile from java server to asterisk server > may be using nfs or gufer? you could mount the TTS-folder on the other machine via nfs and set the mount point beneath the /var/lib/asterisk/sounds folder... That should work. > > > > > > > > > > > On Mon, Jun 3, 2013 at 8:36 PM, Yves A. <yv...@gm... > <mailto:yv...@gm...>> wrote: > > asterisk can´t handle mp3 by default.... you have to compile > support for mp3 (licence issues...)... > or you convert mp3 to wav (att.: wav != wav...) or gsm after tts > generation.... sox can help you there.... > > take a look in the log / verbose cli output to see, if any error > occur... > > soundfile has to be in the right folder..! normally: > /var/lib/asterisk/sounds/ and is addressed relatively > to that path... > > use streamFile(file) in your AGI to stream the file to the caller... > > yves > > > > Am 03.06.2013 16:47, schrieb Rounak Saha: >> Hello everyone, >> >> I have integrated my JAVA program(using asterisk-java) with a >> text-to-speech software where I send a string to the TTS >> software and it return me a .mp3 file (which can be converted to >> any desire format). >> >> Now I want this mp3 to be played to the caller. >> >> Which fastAGI command should I use to play the mp3? >> >> Do I have to first transfer my .mp3 file to Asterisk database and >> then ask it to run it?If yes,How should I transfer? >> >> >> >> >> >> ------------------------------------------------------------------------------ >> Get 100% visibility into Java/.NET code with AppDynamics Lite >> It's a free troubleshooting tool designed for production >> Get down to code-level detail for bottlenecks, with <2% overhead. >> Download for free and get started troubleshooting in minutes. >> http://p.sf.net/sfu/appdyn_d2d_ap2 >> >> >> _______________________________________________ >> Asterisk-java-users mailing list >> Ast...@li... <mailto:Ast...@li...> >> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > ------------------------------------------------------------------------------ > Get 100% visibility into Java/.NET code with AppDynamics Lite > It's a free troubleshooting tool designed for production > Get down to code-level detail for bottlenecks, with <2% overhead. > Download for free and get started troubleshooting in minutes. > http://p.sf.net/sfu/appdyn_d2d_ap2 > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > <mailto:Ast...@li...> > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > > > ------------------------------------------------------------------------------ > Get 100% visibility into Java/.NET code with AppDynamics Lite > It's a free troubleshooting tool designed for production > Get down to code-level detail for bottlenecks, with <2% overhead. > Download for free and get started troubleshooting in minutes. > http://p.sf.net/sfu/appdyn_d2d_ap2 > > > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users |
From: Rounak S. <rou...@gm...> - 2013-06-06 05:58:15
|
Hii yves, Thanks for clearing my doubt. Idea of caching and building a md5 for the text is brilliant. what kind of TTS engine are you using? an online service or a serverside engine? Actually my organisation has not yet decided which TTS engine they are going to use but it will be mostly serverside engine. Any suggestion that should be taken in mind while using serverside engine? Cheers Rounak On Tue, Jun 4, 2013 at 11:59 AM, Yves A. <yv...@gm...> wrote: > see inline... > > yves > > > Am 03.06.2013 17:25, schrieb Rounak Saha: > > Hii, > Is it necessary for the soundFile to be in /var/lib/asterisk/sounds/?What > do you exactly mean by "soundfile has to be in the right folder..!"?If > yes,how can I do it? > > I would recommend using subfolders beneath /var/lib/asterisk/sounds, e.g. > /var/lib/asterisk/sounds/TTS etc. > you can configure another sounddirectory in the asterisk conf files, but > it is valid for ALL soundfiles (prompts etc.). > > > that means I have to store the voice file return by TTS software to the /var/lib/asterisk/sounds/ > and then use play it, all when the caller is online!!!I think its a time > taking process? > > yes, thats right... but time taking process...? no, not really... > what kind of TTS engine are you using? an online service or a serverside > engine? I wrote an IVR using an online TTS and all the process of > generating and retrieving the > file, converting it and storing it in the right place was (of course > depending on length and bandwith) a matter of less than one second. caching > generated files (if the text is > the same, it has not to be generated over and over again) and producing > them in advance or while playing a prompt does "speed up" the process even > more... > I have developed a simple cashing mechanism... build a md5 of the text > that has to be generated and see, if a file with that name exists... if > yes, its there and can be played, > if not, generate it, store it under the md5 filename and than it is there > for now and for future use... > > > What is the best way to integrate TTS with my java program? > > I have done with cepstral for linux as well as with google and with AT&T > (both online...) AT&T has the best voice quality and natural sounding > voices. Depending on > Bandwith an offline solution is probably preferrable. > > > And what if my Java server and asterisk server are not in same physical > system. > Do I have to copy the soundFile from java server to asterisk server may be > using nfs or gufer? > > you could mount the TTS-folder on the other machine via nfs and set the > mount point beneath the /var/lib/asterisk/sounds folder... That should work. > > > > > > > > > > > > On Mon, Jun 3, 2013 at 8:36 PM, Yves A. <yv...@gm...> wrote: > >> asterisk can´t handle mp3 by default.... you have to compile support >> for mp3 (licence issues...)... >> or you convert mp3 to wav (att.: wav != wav...) or gsm after tts >> generation.... sox can help you there.... >> >> take a look in the log / verbose cli output to see, if any error occur... >> >> soundfile has to be in the right folder..! normally: >> /var/lib/asterisk/sounds/ and is addressed relatively >> to that path... >> >> use streamFile(file) in your AGI to stream the file to the caller... >> >> yves >> >> >> >> Am 03.06.2013 16:47, schrieb Rounak Saha: >> >> Hello everyone, >> >> I have integrated my JAVA program(using asterisk-java) with a >> text-to-speech software where I send a string to the TTS software and it >> return me a .mp3 file (which can be converted to any desire format). >> >> Now I want this mp3 to be played to the caller. >> >> Which fastAGI command should I use to play the mp3? >> >> Do I have to first transfer my .mp3 file to Asterisk database and then >> ask it to run it?If yes,How should I transfer? >> >> >> >> >> >> ------------------------------------------------------------------------------ >> Get 100% visibility into Java/.NET code with AppDynamics Lite >> It's a free troubleshooting tool designed for production >> Get down to code-level detail for bottlenecks, with <2% overhead. >> Download for free and get started troubleshooting in minutes.http://p.sf.net/sfu/appdyn_d2d_ap2 >> >> >> >> _______________________________________________ >> Asterisk-java-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> >> >> >> ------------------------------------------------------------------------------ >> Get 100% visibility into Java/.NET code with AppDynamics Lite >> It's a free troubleshooting tool designed for production >> Get down to code-level detail for bottlenecks, with <2% overhead. >> Download for free and get started troubleshooting in minutes. >> http://p.sf.net/sfu/appdyn_d2d_ap2 >> _______________________________________________ >> Asterisk-java-users mailing list >> Ast...@li... >> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> > > > ------------------------------------------------------------------------------ > Get 100% visibility into Java/.NET code with AppDynamics Lite > It's a free troubleshooting tool designed for production > Get down to code-level detail for bottlenecks, with <2% overhead. > Download for free and get started troubleshooting in minutes.http://p.sf.net/sfu/appdyn_d2d_ap2 > > > > _______________________________________________ > Asterisk-java-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > > > ------------------------------------------------------------------------------ > How ServiceNow helps IT people transform IT departments: > 1. A cloud service to automate IT design, transition and operations > 2. Dashboards that offer high-level views of enterprise services > 3. A single system of record for all IT processes > http://p.sf.net/sfu/servicenow-d2d-j > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > |
From: Yves A. <yv...@gm...> - 2013-06-07 08:48:22
|
hi, I would try different engines and use the possibility of evaluating them... most companies offer an evaluation period. i used cepstral without issues, but the quality is sometimes robotic... i think at&t or nuance have better voices meanwhile.. yves Am 06.06.2013 07:58, schrieb Rounak Saha: > Hii yves, > Thanks for clearing my doubt. Idea of caching and building a md5 for > the text is brilliant. > what kind of TTS engine are you using? an online service or a > serverside engine? > Actually my organisation has not yet decided which TTS engine they > are going to use but it will be mostly serverside engine. > Any suggestion that should be taken in mind while using serverside > engine? > > > Cheers > Rounak > > > > > > > > > On Tue, Jun 4, 2013 at 11:59 AM, Yves A. <yv...@gm... > <mailto:yv...@gm...>> wrote: > > see inline... > > yves > > > Am 03.06.2013 17:25, schrieb Rounak Saha: >> Hii, >> Is it necessary for the soundFile to be in >> /var/lib/asterisk/sounds/?What do you exactly mean by "soundfile >> has to be in the right folder..!"?If yes,how can I do it? > I would recommend using subfolders beneath > /var/lib/asterisk/sounds, e.g. /var/lib/asterisk/sounds/TTS etc. > you can configure another sounddirectory in the asterisk conf > files, but it is valid for ALL soundfiles (prompts etc.). > >> >> that means I have to store the voice file return by TTS software >> to the /var/lib/asterisk/sounds/ and then use play it, all when >> the caller is online!!!I think its a time taking process? > yes, thats right... but time taking process...? no, not really... > what kind of TTS engine are you using? an online service or a > serverside engine? I wrote an IVR using an online TTS and all the > process of generating and retrieving the > file, converting it and storing it in the right place was (of > course depending on length and bandwith) a matter of less than one > second. caching generated files (if the text is > the same, it has not to be generated over and over again) and > producing them in advance or while playing a prompt does "speed > up" the process even more... > I have developed a simple cashing mechanism... build a md5 of the > text that has to be generated and see, if a file with that name > exists... if yes, its there and can be played, > if not, generate it, store it under the md5 filename and than it > is there for now and for future use... > >> >> What is the best way to integrate TTS with my java program? > I have done with cepstral for linux as well as with google and > with AT&T (both online...) AT&T has the best voice quality and > natural sounding voices. Depending on > Bandwith an offline solution is probably preferrable. > >> >> And what if my Java server and asterisk server are not in same >> physical system. >> Do I have to copy the soundFile from java server to asterisk >> server may be using nfs or gufer? > you could mount the TTS-folder on the other machine via nfs and > set the mount point beneath the /var/lib/asterisk/sounds folder... > That should work. > >> >> >> >> >> >> >> >> >> >> >> On Mon, Jun 3, 2013 at 8:36 PM, Yves A. <yv...@gm... >> <mailto:yv...@gm...>> wrote: >> >> asterisk can´t handle mp3 by default.... you have to compile >> support for mp3 (licence issues...)... >> or you convert mp3 to wav (att.: wav != wav...) or gsm after >> tts generation.... sox can help you there.... >> >> take a look in the log / verbose cli output to see, if any >> error occur... >> >> soundfile has to be in the right folder..! normally: >> /var/lib/asterisk/sounds/ and is addressed relatively >> to that path... >> >> use streamFile(file) in your AGI to stream the file to the >> caller... >> >> yves >> >> >> >> Am 03.06.2013 16:47, schrieb Rounak Saha: >>> Hello everyone, >>> >>> I have integrated my JAVA program(using asterisk-java) with >>> a text-to-speech software where I send a string to the TTS >>> software and it return me a .mp3 file (which can be >>> converted to any desire format). >>> >>> Now I want this mp3 to be played to the caller. >>> >>> Which fastAGI command should I use to play the mp3? >>> >>> Do I have to first transfer my .mp3 file to Asterisk >>> database and then ask it to run it?If yes,How should I transfer? >>> >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Get 100% visibility into Java/.NET code with AppDynamics Lite >>> It's a free troubleshooting tool designed for production >>> Get down to code-level detail for bottlenecks, with <2% overhead. >>> Download for free and get started troubleshooting in minutes. >>> http://p.sf.net/sfu/appdyn_d2d_ap2 >>> >>> >>> _______________________________________________ >>> Asterisk-java-users mailing list >>> Ast...@li... <mailto:Ast...@li...> >>> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> >> ------------------------------------------------------------------------------ >> Get 100% visibility into Java/.NET code with AppDynamics Lite >> It's a free troubleshooting tool designed for production >> Get down to code-level detail for bottlenecks, with <2% overhead. >> Download for free and get started troubleshooting in minutes. >> http://p.sf.net/sfu/appdyn_d2d_ap2 >> _______________________________________________ >> Asterisk-java-users mailing list >> Ast...@li... >> <mailto:Ast...@li...> >> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> >> >> >> ------------------------------------------------------------------------------ >> Get 100% visibility into Java/.NET code with AppDynamics Lite >> It's a free troubleshooting tool designed for production >> Get down to code-level detail for bottlenecks, with <2% overhead. >> Download for free and get started troubleshooting in minutes. >> http://p.sf.net/sfu/appdyn_d2d_ap2 >> >> >> _______________________________________________ >> Asterisk-java-users mailing list >> Ast...@li... <mailto:Ast...@li...> >> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > ------------------------------------------------------------------------------ > How ServiceNow helps IT people transform IT departments: > 1. A cloud service to automate IT design, transition and operations > 2. Dashboards that offer high-level views of enterprise services > 3. A single system of record for all IT processes > http://p.sf.net/sfu/servicenow-d2d-j > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > <mailto:Ast...@li...> > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > > > ------------------------------------------------------------------------------ > How ServiceNow helps IT people transform IT departments: > 1. A cloud service to automate IT design, transition and operations > 2. Dashboards that offer high-level views of enterprise services > 3. A single system of record for all IT processes > http://p.sf.net/sfu/servicenow-d2d-j > > > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users |