JAVA教程之java语音完成手艺TTS材料
恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架?要做语音,查了一些材料。JavaSpeechAPI:http://java.sun.com/products/java-media/speech/
JavaSpeechAPI同意开辟职员将语音手艺整合到Javaapplet和使用程序的用户界面中。这类API划定一个跨平台的接口来撑持命令―把持辨认器、听写体系和语音分解器。
这个综合API被分红几个标准:
JavaSpeechAPI标准(JavaSpeechAPISpecification,JSAPI)
JavaSpeechAPI程序员指南
JavaSpeechAPI语法格局标准(JavaSpeechAPIGrammarFormatSpecification,JSGF)
JavaSpeechAPI标志言语标准(JavaSpeechAPIMarkupLanguageSpecification,JSML)
这个API没有Sun公司的参考完成,可是有很多第三方完成,包含SpeechforJava(能够从IBMalphaWorks取得),它利用ViaVoice来撑持语音命令辨认、听写和文本到语音的分解。
java.sun.com官方材料:
QuestionIndex
WherecanIgettheJavaSpeechAPI(JSAPI)?
TheJavaSpeechAPI(JSAPI)isnotpartoftheJDKandSundoesnotshipanimplementationofJSAPI.Instead,weworkwiththirdpartyspeechcompaniestoencouragetheavailabilityofmultipleimplementations.
QuestionIndex
WhatistheJavaSpeechAPI(JSAPI)?
TheJavaSpeechAPIallowsJavaapplicationstoincorporatespeechtechnologyintotheiruserinterfaces.Itdefinesacross-platformAPItosupportcommandandcontrolrecognizers,dictationsystemsandspeechsynthesizers.
QuestionIndex
WhenwilltheJSAPIspecificationbeavailable?
TheJavaSpeech1.0APIspecificationwasreleasedonOctober26,1998,andisavailableathttp://java.sun.com/products/java-media/speech/
QuestionIndex
WhatdoestheJavaSpeechAPIspecificationinclude?
TheJavaSpeechAPIspecificationincludestheJavadoc-styleAPIdocumentationfortheapproximately70classesandinterfacesintheAPI.ThespecificationalsoincludesadetailedProgrammersGuidewhichexplainsbothintroductoryandadvancedspeechapplicationprogrammingwithJSAPI.Twocompanionspecificationsareavailable:JSMLandJSGF.
Thespecificationisnotyetprovidedwiththe.classfilesneededtocompileapplicationswithJSAPI.
QuestionIndex
WhatareJSMLandJSGF?
TheJavaSpeechAPIMarkupLanguage(JSML)andtheJavaSpeechAPIGrammarFormat(JSGF)arecompanionspecificationstotheJavaSpeechAPI.JSML(currentlyinbeta)definesastandardtextformatformarkinguptextforinputtoaspeechsynthesizer.JSGFversion1.0definesastandardtextformatforprovidingagrammartoaspeechrecognizer.Bothspecificationsareavailableathttp://java.sun.com/products/java-media/speech/
QuestionIndex
HowwastheJSAPIspecificationdeveloped?
SunMicrosystems,Inc.workedinpartnershipwithleadingspeechtechnologycompaniestodefinetheinitialspecificationoftheJavaSpeechAPI,JSMLandJSGF.Sunisgratefulforthecontributionsof:
AppleComputer,Inc.
AT&T
DragonSystems,Inc.
IBMCorporation
Novell,Inc.
PhilipsSpeechProcessing
TexasInstrumentsIncorporated
TheJSAPIspecificationandJSGFandJSMLspecificationsweredevelopedasopenspecificationswithinputfromapublicreviewprocess.
QuestionIndex
HowdoesJSAPIrelatetootherJavaAPIs?
TheJavaSpeechAPIispartofafamilyofAPIsthatworktogetherasasuitetoprovidecustomerswithenhancedgraphicsandextendedcommunicationscapabilities.TheseAPIsincludethe
Java2DAPI
Java3DAPI
JavaAdvancedImagingAPI
JavaMediaFrameworkAPI
JavaSoundAPI
JavaTelephonyAPI
QuestionIndex
WhatJSAPIimplementationsarenowavailable?
TheJavaSpeechAPIisafreelyavailablespecificationandthereforeanyoneiswelcometodevelopanimplementation.Thefollowingimplementationsareknowntoexist.
Note:SunMicrosystems,Inc.makesnorepresentationsorwarrantiesaboutthesuitabilityofthesoftwarelistedhere,eitherexpressorimplied,includingbutnotlimitedtotheimpliedwarrantiesofmechantability,fitnessforaparticularpurpose,ornon-infringement.TheimplementationslistedherehavenotbeentestedwithregardtocompliancetotheJSAPIspecification,nordoestheirappearanceonthispageimplyanyformofendorsementofcomplianceonthepartofSun.
FreeTTSon
Description:OpensourcespeechsynthesizerwrittenentirelyintheJavaprogramminglanguage.
Requirements:JDK1.4.ReadaboutmorerequirementsontheFreeTTSwebsite.
IBMs"SpeechforJava"
Description:ImplementationbasedonIBMsViaVoiceproduct,whichsupportscontinuousdictation,commandandcontrolandspeechsynthesis.ItsupportsalltheEuropeanlanguageversionsofViaVoice--US&UKEnglish,French,German,ItalianandSpanish--plusJapanese.
Requirements:JDK1.1.7orlaterorJDK1.2onWindows95with32MB,orWindowsNTwith48MB.BothplatformsalsorequireaninstallationViaVoice98.
IBMs"SpeechforJava"onLinux
Description:Betaversionof"SpeechforJava"onLinux.Currentlyonlysupportsspeechrecognition.
Requirements:RedHatLinux6.0with32MB,andBlackdownJDK1.1.7withnativethreadsupport.
TheCloudGarden
Description:Implementationforusewithanyrecognition/TTSspeechenginecompliantwithMicrosoftsSAPI5(withSAPI4supportforTTSenginesonly).Anadditionalpackageallowsredirectionofaudiodatato/fromFiles,Linesandremoteclients(usingthejavax.sound.sampledpackage).SomeexamplesdemonstrateitsuseinappletsinNetscapeandIEbrowsers.
Requirements:JDK1.1orbetter,Windows98,Me,2000orNT,andanySAPI5.1,5.0or4.0compliantspeechengine(someofwhichcanbedownloadedfromMicrosoftswebsite).
Lernout&HauspiesTTSforJavaSpeechAPI
Description:ImplementationsbaseduponASR1600andTTS3000engines,whichsupportcommandandcontrolandspeechsynthesis.Supports10differentvoicesandassociatedwhisperingvoicesfortheEnglishlanguage.Providescontrolforpitch,pitchrange,speakingrate,andvolume.
Requirements:SunSolarisOSversion2.4orlater,JDK1.1.5.SunSwingpackage(freedownload)forgraphicalType-n-Talkdemo.
Moreinformation:ContactEdmundKwan,DirectorofSales,WesternRegionSpeechandLanguageTechnologiesandSolutions(ekwan@lhs.com)
ConversaWeb3.0
Description:ConversaWebisavoice-enabledWebbrowserthatprovidesarangeoffacilitiesforvoice-navigationofthewebbyspeechrecognitionandtext-to-speech.ThedevelopersofConversaWebchosetowriteaJSAPIimplementationforthespeechsupport.
Requirements:Windows95/98orNT4.0runningonIntelPentium166MHzprocessororfaster(orequivalent).Minimumof32MBRAM(64MBrecommended).Multimediasystem:soundcardandspeakers.MicrosoftInternetExplorer4.0orhigher.
Festival
Description:Festivalisageneralmulti-lingualspeechsynthesissystemdevelopedbytheCentreforSpeechTechnologyResearchattheUniversityofEdinburgh.ItoffersafulltexttospeechsystemwithvariousAPIs,aswellanenvironmentfordevelopmentandresearchofspeechsynthesistechniques.ItiswritteninC++withaScheme-basedcommandinterpreterforgeneralcontrolandprovidesabindingtotheJavaSpeechAPI.SupportstheEnglish(BritishandAmerican),SpanishandWelshlanguages.
Requirements:FestivalrunsonSuns(SunOSandSolaris),FreeBSD,Linux,SGIs,HPsandDECAlphasandisportabletootherUnixmachines.PreliminarysupportisavailableforWindows95andNT.FordetailsandrequirementsseetheFestivaldownloadpage.
ElanSpeechCube
Description:ElanSpeechCubeisaMultilingual,multichannel,cross-operatingsystemtext-to-speechsoftwarecomponentforclient-serverarchitecture.SpeechCubeisavailablewith2TTStechnologies(ElanTempo:diphoneconcatenationandElanSayso:unitselection),covering11languages.SpeechCubenativeJavaclientsupportsJSAPI/JSML.
Requirements:JDK1.3orlateronWindowsNT/2000/XP,LinuxorSolaris2.7/2.8,SpeechCubeV4.2andhigher.
AboutElanSpeech:ElanSpeechisanestablishedworldwideprovideroftext-to-speechtechnology(TTS).ElanTTStransformsanyITgeneratedtextintospeechandreadsitoutloud.
QuestionIndex
HowdoIuseJSAPIinanapplet?
ItispossibletouseJSAPIinanapplet.Inordertodothis,userswillneedtheJavaPlug-in(seehttp://java.sun.com/products/plugin).ThereasonforthisisthatJSAPIimplementationsrequireaccesstotheAWTEventQueue,andthebuilt-inJDKsupportinthebrowsersweveworkedwithdeniesanyappletaccesstotheAWTEventQueue.TheJavaPlug-indoesnthavethisrestriction,anduserscanconfiguretheJavaPlug-intograntordenyappletaccesstotheAWTQueue.
IfyouareusingJRE1.1:
HaveyourusersfollowthesestepsifyourappletisbaseduponJDK1.1:
ObtainaJDK1.1.7orbetterJavaRuntimeEnvironment(JRE).ThereasonforthisiswehavehadproblemswithappletsecuritybeingdeniedwithJDK1.1.6.PleasenotethattheuserneedstheJREandnottheJDK.TheJREisfreelyavailablefordownloadfromthefollowingURL:
http://java.sun.com/products/jdk/1.1
Beforerunningthebrowser,havetheusermodifytheirCLASSPATHenvironmentvariabletoincludethesupportingclassesforJSAPI.Forexample,iftheuserhasIBMsSpeechforJava,havetheuserincludetheibmjs.jarfileinCLASSPATH.
MakesureanysharedlibrariesfortheJSAPIsupportareintheusersPATH.Forexample,iftheuserhasIBMsSpeechForJava,havetheuserincludetheibmjslibdirectoryintheirPATH(e.g.,c:ibmjslib).
Havetheusercopythespeech.propertiestotheirhomedirectory.AusercandeterminetheirhomedirectorybyenablingtheconsolefortheJavaPlug-in.WhentheuseraccessesapagethatusestheJavaPlug-in,theJavaPlug-inconsolewilltelltheuserwhatitthinkstheusershomedirectoryis.
Usejavakeytoaddyouridentitytotheirsignaturedatabase(i.e.,identitydb.obj).ThiswilltelltheJavaPlug-intotrustappletssignedbyyou.InformationonjavakeyandsigningcanbefoundatthefollowingURLS:
http://java.sun.com/security/signExample
http://java.sun.com/products/plugin/1.1.1/signed.html
Copytheidentitydb.objthatwascreatedorupdatedinprevioussteptotheusershomedirectory(thesameplacewheretheusercopiedspeech.properties).
Thenperformthesestepsonyourapplet:
Usejavakeytobothcreateasignaturedatabaseforyoursystemandtosignyourappletsjarfile.Thiswillallowtheapplettoparticipateinthesecuritymodel.
CreateanHTMLpagethatusesyourappletinthePlug-in.Seehttp://java.sun.com/products/plugin/1.1.1/docsformoreinformationonhowtodothis.
Iftheuserexperiencesa"checkread"exceptionwhileattemptingtorunyourapplet,itsmostlikelyduetoamismatchbetweentheusersidentitydb.objfileandthesignatureonyourappletsjarfile.Awaytoremedythisistorecreateyouridentitydb.objandre-signyourjarfile.
IfyouareusingJRE1.2:
TheJava2platformssecuritymodelallowssigningasdonewithJDK1.1,butitalsopermitsfinergrainedaccesscontrol.Thefollowingarejustsomeexamples,andwerecommendyoureadtheJavaSecurityArchitectureSpecificationatthefollowingURLbeforedecidingwhattodo:
http://java.sun.com/products/jdk/1.2/docs/guide/security/spec/security-spec.doc.html
Foraquickstart,haveyourusersdothefollowingifyourappletusestheJava2(i.e.,JDK1.2)platform:
ObtaintheJDK1.2Plug-in.
Beforerunningthebrowser,havetheusermodifytheirCLASSPATHenvironmentvariabletoincludethesupportingclassesforJSAPI.Forexample,iftheuserhasIBMsSpeechforJava,havetheuserincludetheibmjs.jarfileinCLASSPATH.
MakesureanysharedlibrariesfortheJSAPIsupportareintheusersPATH.Forexample,iftheuserhasIBMsSpeechForJava,havetheuserincludetheibmjslibdirectoryintheirPATH(e.g.,c:ibmjslib).
Havetheusercopythespeech.propertiestotheirhomedirectory.AusercandeterminetheirhomedirectorybyenablingtheconsolefortheJavaPlug-in.WhentheuseraccessesapagethatusestheJavaPlug-in,theJavaPlug-inconsolewilltelltheuserwhatitthinkstheusershomedirectoryis.
Havetheusermodifytheirjava.policyfileintheJavaPlug-inssecuritydirectoryappropriately.Therearemanywaystodothis.Thefollowingarejustafewpossibilities:
GrantallappletstheAllPermissionproperty.Thisisextremelydangerousandisonlyprovidedasanexample.Todothis,havetheusermodifytheirjava.policyfiletocontainonlythefollowinglines:
grant{
permissionjava.security.AllPermission;
}
GrantpermissionstoaparticularURL(e.g.,theURLcontainingyourapplet).Todothis,havetheuseraddthefollowinglinestotheirjava.policyfile:
grantcodeBase"http://your.url.here"{
permissionjava.security.AllPermission;
}
TheinformationinthisFAQisnotmeanttobeacompletetutorialontheJDK1.1andJDK1.2architecture.Instead,itismeanttobehopefullyenoughtogetyoustartedwithrunningJSAPIappletsinabrowser.WesuggestyouvisitthefollowingURLstoobtainmoreinformationontheJavaSecuritymodels:
JavaSecurityHomePage:
http://java.sun.com/security
TutorialonJDK1.1Security:
http://java.sun.com/docs/books/tutorial/security1.1
TutorialonJDK1.2Security:
http://java.sun.com/docs/books/tutorial/security1.2
QuestionIndex
WhydoesNetscapeNavigatororInternetExplorerthrowasecurityexceptionwhenIuseJSAPIinanapplet?
JSAPIimplementationsrequireaccesstotheAWTEventQueue.Thebuilt-inJavaplatformsupportinthebrowsersweveworkedwithdeniesanappletaccesstotheAWTEventQueue.Asaresult,JSAPIimplementationswillbedeniedaccesstotheAWTEventQueue.Inaddition,wearenotawareofawaytoconfigurethebuilt-inJavaplatformsupportintheseenvironmentstoallowaccesstotheAWTEventQueue.
TheJavaPlug-in(seehttp://java.sun.com/products/plugin),however,canbeconfiguredtoallowanappletthenecessarypermissionsitneedstouseanimplementationofJSAPI.Asaresult,wecurrentlyrecommendusingtheJavaPlug-inforappletsthatuseJSAPI.
QuestionIndex
ImconcernedaboutJSAPIapplets"bugging"myoffice.WhataretheplansforJSAPIandsecurityonJDK1.2?
TheJSAPI1.0specificationincludestheSpeechPermissionclassthatcurrentlyonlysupportsoneSpeechPermission:javax.speech.Whenthatpermissionisgranted,anapplicationorapplethasaccesstoallthecapabilitiesprovidedbyinstalledspeechrecognizersandsynthesizers.Withoutthatpermission,anapplicationorapplethasnoaccesstospeechcapabilities.
Asspeechtechnologymaturesitisanticipatedthatafiner-grainedpermissionmodelwillbeintroducedtoprovideaccessbyapplicationsandappletstosome,butnotall,speechcapabilities.
Beforegrantingspeechpermission,developersandusersshouldconsiderthepotentialimpactofthegrant.
QuestionIndex
DoesJSAPIallowmetocontroltheaudioinputsourceofarecognizerorredirecttheaudiooutputofaspeechsynthesizer?
ThissupportiscurrentlynotinJSAPI.WeplantousetheJavaSoundAPItohelpprovidethissupportinthefuture.Wepurposelyleftroomforexpansioninthejavax.speech.AudioManagerinterfaceandwillfurtherinvestigatethissupportaftertheJavaSoundAPIisfinalized.
QuestionIndex
试用了一些产物,发明关于中文不可呀,那位先容一下呀?
而学习JAVA我觉得最应该避免的就是:只学习,不思考,只记忆,不实践! 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 是一种突破用户端机器环境和CPU Java是一种计算机编程语言,拥有跨平台、面向对java 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
页:
[1]