Which Version of Browser supports JSML?

Which version of browser (Netscape/IE or something else?) supports JSML (Java Speech Markup Language) or more general XML?
drsmbAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
drsmbAuthor Commented:
Jod,

You are excellent. I can see you are the expert in this area. Thanks a lot.

I am interested in doing some speech related development. Later on I may have some other questions need experts' help. But I don't have any more points, could you give me some more points?

Thanks.
0
 
JodCommented:
I'll be happy to help you even if you have none or very few points.

Unfortunately, I can't actually give you points - even if I post a question for you to answer. The points you get for answering questions cannot be used to post questions - something about the American IRS (Inland Revenue Service) viewing this as a profit making barter exchange means that this is not possible, but feel free to ask anyway and I will do my best to help.
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
drsmbAuthor Commented:
Thanks a lot.

Currently as I understand, the voice recognize or synthesize rely on the use of special browsers on client side. What could be the main difficulty to create some plug ins for the most popular browsers like Netscape and IE to perform some simple voice related functions? For example, how about if some speech/voice is synthesized on server side, after it is sent to the client side, it does not bring up the real player to create the sound but the browser does the work of real player?

The reason I am thinking about this is because the speech synthesize on server side is more controllable than the client side. And also the effect that the browser can broadcast the speech while some other part of the speech is still downloading is admirable.

Letting the server side to create some pages that follows some standard (JSML or XML) is great idea since sending sound file over the net may create more traffic. But some webmaster may be full of imagination and wants to do something in their own way. Some one may don't like just use markup language. Plus, the hardware and network communcation technology may makes transfer sound over net is not a big deal.

Would you suggest me to start to do some work in this respect, or how would you think I should start this kind of work?

Thanks a lot again.



0
 
JodCommented:
One way that comes to mind is to generate .au or .wav audio files on the server (which Java can play - the .au has better support in Java and adequate for speech).

These can then be downloaded and played by the client browser with no further client tools required.

There are a variety of algorithms available for text to speech synthesis but this is a BIG area of development at the moment so some of the best algorithms you may find are under lock and key.

But in essance all you need to do is have a "read me" java button on the page which when pressed sends the text to the server. The server can then generate a series of .au files for the broswer to download and play - there you have it, text to speech.

Of course that is just the theory...
0
 
drsmbAuthor Commented:
Thanks a lot.

I will try.

Have a nice day.
0
 
drsmbAuthor Commented:
Jod,

After I got your advice, I have tried to send AU file from server to client. Now I have met some problems.

I can send a single AU file from server to client without any problem. However, if I try to send multiple AU files from the server to client, I got problems. I used two different ways to do this as follows:

1) I used the server side push by writing

Content-type: multipart/x-mixed-replace;boundary=myboundary

--myboundary
Content-type: audio/basic

<print file>

--myboundary
Content-type: audio/basic

<print file>

--myboundary--

I got the following error message:

NPP_StreamAsFile():
fname is NULL!
This probably means your disk cache is too small

I clear my cache, and made my cache to the max, it still doesn't work. But if I only send one AU file like this:

Content-type: audio/basic

<print file>

it works fine.

2) I used the <object> tag to embed the AU file in the html. When I put one AU file like this:

<object
     data=file.au
     type=audio/basic
     >
</object>

It works fine.

But when I put two AU files like this:

<object
     data=file1.au
     type=audio/basic
     >
</object>
<object
     data=file2.au
     type=audio/baisc
     >
</object>

It won't do what I want it to do.

Could you very kindly help me out this or provide some online resource info where I can find the solution.

Thanks a lot.



0
 
JodCommented:
I was actually thinking of downloading them via an applet.

Java can play au files like this...


AudioClip ac = getAudioClip(getCodeBase(), soundFile);
ac.play(); //play once
ac.stop(); //stop playing
ac.loop(); //play continuously

So you can create a series of au files which are placed on the server. The applet can then check for these periodically and then download and play them.

Or, you could delete the file each time it is downloaded and then download the next one when it appears.

Or, always download the au file and play it. While one is playing you should have time to make the next. Then at the end delete the file or signal somehow to finish.

As you can see, there are a number of ways to do this, so it depends how you are managing the au files.
0
 
drsmbAuthor Commented:
Jod,

It's an excellent idea. Thanks a lot. I will try it. The only thing I may worry about is that it may take some time for the client to download the applet. The reason I was concentrating on HTML or CGI ways is that I want the start of any sound instrument on client site is invisible and quick. So if I provide a button on my web site shows "select voice version of this site", when the user clicks the button, he can get the site broadcatsed in no time. If I use applet, I worry that it may takes a little longer for the client to download the applet. But anyway, it's a very good idea, and I will try it. If I succeed, I will let you know. If I meet some more problem I will come back to consult your expert advice.

Thanks. Have a nice day!

0
 
JodCommented:
A small applet to download sound files and play them will only take seconds to download.

You could put the button to select voice in the applet and make the applet the size of the button. So then you will just have an embedded applet that looks just like a button on the web page all the time.
0
 
drsmbAuthor Commented:
Jod,

Thanks. I think you are right, and I think Java can do the job best since I can create a thread to handle download while another thread to handle playing. I am working on it. Thanks
0
All Courses

From novice to tech pro — start learning today.