Question

Text to Speech for Windows CE using .NET Compact Framework OR eVB

Asked by: apss

Is it possible to create a simple text to speechapplication for windows ce using .NET Compact Framework OR Embedded Visual Basic. I have SAPI 5.1 Installed on my computer which I am successfully using with my VB.NET & VB projects to build text to speech applications for PC. But I couldn't find a compact dll that I could refrence from within my .NET Compact project. Am I missing something here or is there a special version of speech SDK for Windows CE ? I have tried searching on the net and MSDN but all I found was a refrence to some 'SAPI 5.0 for Windows CE .NET' but there is no information on how to obtain the SAPI 5.0 SDK or on creating pocket applications using this SDK. It would be a great help if anyone could provide a sample code using VB.NET OR Embedded Visual Basic (eVB).

Thanks in advance,
apss.

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2004-11-06 at 06:08:53ID21197020
Tags

speech

Topic

Wireless Technologies

Participating Experts
2
Points
500
Comments
11

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Speech SDK
    Has anyone here got experience with Microsoft Speech SDK? I'm very new to this. I know there's a Speech Recongition engine included in the SDK. Well, here's my scenario. Can I give inputs to a normal telephone (assuming it is connected to a voice modem) and through the speech...
  2. Simple Speech Recognition in VB.net
    I need a simple way to incorporate speech recognition into a Visual Basic .net program. All of the information I can find about microsoft's speech sdk's revolve around previous VB versions and thus do not work on the new .net. I would like to keep it as simple as possible, ...
  3. Windows CE/XDA/Symbian Text To Speech Software
    Hi EE Is there any speech software which can convert PDFs to Speech. The application is for a Partially Sighted reliative. Or as a budding software developer (Delphi/Java) anybody working on one who needs a hand to develop or test such an application? Thanks for you time G2d

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: apssPosted on 2004-11-08 at 04:55:42ID: 12522846

Thanks for the help but I have already visited the links provided by you. The first link leads to a discontinued project whereas the second and third links provide source code for win32 text to speech applications. Whereas I need source code for a 'Windows CE' text to speech application.

apss

 

by: Mikal613Posted on 2004-11-08 at 05:48:38ID: 12523155

http://www.generation5.org/content/2004/ttSpeech.asp

Compact Framework
i did this because the story for speech on devices is pitiful. PPC 2003 and SP 2003 devices follow the SAPI Lite interface. it is the MS standard interface for both Speech Recognition and Text To Speech (a lighter version of what SAPI is on the desktop). sadly, retail devices are not shipped with SR engines or TTS voices. even crappier, there are SAPI implementations that come with Platform Builder. so if you have a device that you can re-image, then you can image it to do SR and TTS. of course the people with retail devices are SOL. there are 3rd party implementations for doing speech on devices, but they are rag-tag at best. one vendor might offer SR only, while another only has TTS. trying to find one that offers both AND follow the SAPI interface is a chore. when looking around, i had a hell of a time finding a vendor that offered a free evaluation as well. so the state of the industry for speech on devices is crap ...



... so i finally got sick of bitching and just decided to port the above to the Compact Framework (CF). it actually works better than i expected [there is a video of it below]. from the time text is entered to the time that it 1st starts playing takes about a second. since it takes a while for spoken text to be played, you could queue up longer passages and do the processing in chunks over time. the real performance drag is loading the databases. on my HP4355, the 3.5 meg lexicon database took 2 minutes to load. the 7.5 meg 8 bit voice database takes 8 minutes. that is with CFv1 ... i'm not sure which service pack i have at the moment? luckily, the databases only have to be loaded once, then it can be used to speak large passages of text (or write to a file). would love to try this out on one of those Dell 600mhz beasts along with CFv2. other means could also be taken to improve performance. Flite used the technique of compiling the databases into the actual codebase ... that would work too

to reduce the footprint and increase performance, you could also switch to using phonemes instead of diphones ... which i tried. wrote a program to chop up the WAV format of the diphones and then reassemble those parts into the 41 phonemes (40 phonemes + pause). instead of 7.5 megs for the voice database, it reduces down to ~200KB raw WAV files. with the WAV files you dont have to load the database, so that saves 8 minutes. concatenation is also faster since the LPC algorithm does not have to be performed which was using floating point arithmetic. using phonemes instead of diphones this will definitely reduce quality ... but it is still recognizable, albeit more speak-and-spell'ish. it is more robust because it does not have the problem of missing rare diphones like the FreeTTS voice database does now the only performance problem is the 2 minutes it takes to load the diphone dictionary. attempted to get past this by dumping the 120K words into a SqlCE database. this gets rid of the 2 minute load time, but it takes a couple seconds to read from the database with that many entries. might be worthing trying this with SqlMobile, to see what its performance is

speech w/phonemes
1 + 3 = 4
brains-n-brawn.com
casey chesnut
hello world
subliminal message



Conclusion
so this showed how to create a dead simple speech synthesis program. was able to get it to run on my Pocket PC with decent performance. in each scenario, it ran much better than i expected (considering performance and quality). the speech is monotonous and robotic sounding, but it is definitely recognizable as english speech. these sort of apps make perfect sense in mobile devices. envision walking around with a bluetooth Pocket PC in your pocket. it could connect to a bluetooth GPS and then report the direction you should travel to a bluetooth headset you are wearing. that scenario also makes sense in a car. multi-language scenarios involve typing text in your language and having it spoken in an alternate language. you could also do that in a learning scenario to learn another language. also, if you've used VoiceCommand on your mobile device, wouldn't you like to provide similar functionality in your own apps? or games! how about being able to create diphones from your own voice, and then auto generate podcasts from your textual blog posts that would sound basically the same as your own speaking voice (somebody tell Scoble i said podcast). etc. etc. for more ideas, Richard Sprague recently posted about : Cool demos for the next SAPI. the next SAPI ... why am i just now hearing about this? would love to get an alpha ...

   (1.1 megs)

 

by: apssPosted on 2004-11-09 at 04:49:55ID: 12532459

That was a nice article. It  provides a lot of information on creating your own text to speech engine. But right now I am out of time and require a ready made text to speech library which I could use in my pocket pc project. Had the writer provided some source code, I would have modified it to use in my project. I do not have enough time to create it right from scratch. Thanks for the help.

apss

 

by: atxondoPosted on 2004-11-19 at 09:49:37ID: 12627859

I use a C++ application that uses TTS libraryes of a comertial TTS.
I don´t have tested the Speech 5.0. I know that Platform Builder let´s you the hability to add that libraries to an embedded device, but I don´t know how to add to a PDA or another mobile device.

The C++ aplication spends the time waiting that another app says him a sentence to speech. I use sockets to comunicate with this app.

I don´t think this  helps you but I know nobody that uses that libraryes, but this is my opinion.
But i really don´t know that libraryes.

If it´s posible, i would sugest you to use comertial TTSs like Loquendo, or Scansoft. These are libraryes to use with C++, but you could use Sockets to comunicate with these TTS app.

 

by: apssPosted on 2004-11-20 at 06:21:11ID: 12633619

Yes, there are even free open source TTS libraries such as "Flite" which have a small footprint and were intended to work on embedded devices. But the problem is that it is available as linux binaries or as VC++ code which needs to be modified & recompiled as a .NET Compact Framework dll to work on windows CE.NET and I do not know a thing about  VC++. It is available at http://www.speech.cs.cmu.edu/flite/packed/flite-1.2/flite-1.2-release.tar.gz . Can you please check it out for me ?

 

by: atxondoPosted on 2004-11-22 at 07:49:32ID: 12645348

I´ve been inspecting the code, and it´s very complicated.

All the libraryes are made using makefiles for Linux, and the first thing you have to do is write the makefile files with windows equivalent commands.
As Flite are libraries for Linux, I THINK you must modify the low level function to make it compatible in Windows, and that could be a hard work (I´m not sure about this, first change the makefiles).
I know which are the main functions to begin using the TTS engine with phrases or files, but I can´t help you more.

In the /flite-1.2-release main directory, you have a file named makefile, opening with text editor you will see the commands, that this file, runs. These are Linux commands, you must change these commands first. (ls, ln , tar, sed, ...)

After that you could see if  the program is compatible for windows.

As you can see it´s a hard work.

 

by: apssPosted on 2004-11-22 at 18:52:11ID: 12651114

Yeah, hard luck. Thanks a lot anyway. So, does that mean that I have no option other than using commercial libraries.

 

by: atxondoPosted on 2004-11-23 at 05:17:32ID: 12654448

No, I only say that comertial TTS, are easier to use and I think have better help support(datasheets,...).
I think that this TTS can´t be used by anybody in .Net CF(Windows). I don´t know any free TTS for Windows CE.Net, but if you find, it could be a posible solution.

Good Luck.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...