在线等

解决方案 »

  1.   

    有谁上过www.cnetseek.com/gb/smartread/download.html?
      

  2.   

    到微软网站上下载tts5.1sdk 开发包,装好后有源程序。你可以参考
      

  3.   

    使用微软的TTS(text to speak)语音引擎就可以了,
      

  4.   

    languageid=2052    ' 中文
    languageid=1033    ' 英文  (默認)
    languageid=1041    ' 日文
      

  5.   

    安装tts中文语音库后设置它的语言编号为2052然后再
    .speak "中文"
    就可以了。
      

  6.   

    这里有得下载。http://www.microsoft.com/downloads/details.aspx?FamilyID=5e86ec97-40a7-453f-b0ee-6583171b4530&DisplayLang=en
      

  7.   

    这个SDK我全部下载了,可是就是没有VB 使用的源代码,我只会调用英文朗读的
      

  8.   

    有VB的源代码,很全的,默认目录为
    C:\Program Files\Microsoft Speech SDK 5.1\Samples\VB
      

  9.   

    On Error Resume Next  ' 这一句一定要,因为tts不是专门为vb设计的,难免有些数据类型不兼容
    Dim i As Long
    For i = 1 To t.CountEngines
        ' 判断语言id是否为英文
        ' 注:英文是1033,日文是1041,如果有中文的话那中文就是2052
        If t.LanguageID(i) = 1033 Then
            t.Select i
            Exit For
        End If
    Next i
    t.Speak "hello the world."
    顺便把语言对照表贴出来。0x0000 Language Neutral 
    0x0400 Process Default Language 
    0x0401 Arabic (Saudi Arabia) 
    0x0801 Arabic (Iraq) 
    0x0c01 Arabic (Egypt) 
    0x1001 Arabic (Libya) 
    0x1401 Arabic (Algeria) 
    0x1801 Arabic (Morocco) 
    0x1c01 Arabic (Tunisia) 
    0x2001 Arabic (Oman) 
    0x2401 Arabic (Yemen) 
    0x2801 Arabic (Syria) 
    0x2c01 Arabic (Jordan) 
    0x3001 Arabic (Lebanon) 
    0x3401 Arabic (Kuwait) 
    0x3801 Arabic (U.A.E.) 
    0x3c01 Arabic (Bahrain) 
    0x4001 Arabic (Qatar) 
    0x0402 Bulgarian 
    0x0403 Catalan 
    0x0404 Chinese (Taiwan Region) 
    0x0804 Chinese (PRC) 
    0x0c04 Chinese (Hong Kong SAR, PRC) 
    0x1004 Chinese (Singapore) 
    0x0405 Czech 
    0x0406 Danish 
    0x0407 German (Standard) 
    0x0807 German (Swiss) 
    0x0c07 German (Austrian) 
    0x1007 German (Luxembourg) 
    0x1407 German (Liechtenstein) 
    0x0408 Greek 
    0x0409 English (United States) 
    0x0809 English (United Kingdom) 
    0x0c09 English (Australian) 
    0x1009 English (Canadian) 
    0x1409 English (New Zealand) 
    0x1809 English (Ireland) 
    0x1c09 English (South Africa) 
    0x2009 English (Jamaica) 
    0x2409 English (Caribbean) 
    0x2809 English (Belize) 
    0x2c09 English (Trinidad) 
    0x040a Spanish (Traditional Sort) 
    0x080a Spanish (Mexican) 
    0x0c0a Spanish (Modern Sort) 
    0x100a Spanish (Guatemala) 
    0x140a Spanish (Costa Rica) 
    0x180a Spanish (Panama) 
    0x1c0a Spanish (Dominican Republic) 
    0x200a Spanish (Venezuela) 
    0x240a Spanish (Colombia) 
    0x280a Spanish (Peru) 
    0x2c0a Spanish (Argentina) 
    0x300a Spanish (Ecuador) 
    0x340a Spanish (Chile) 
    0x380a Spanish (Uruguay) 
    0x3c0a Spanish (Paraguay) 
    0x400a Spanish (Bolivia) 
    0x440a Spanish (El Salvador) 
    0x480a Spanish (Honduras) 
    0x4c0a Spanish (Nicaragua) 
    0x500a Spanish (Puerto Rico) 
    0x040b Finnish 
    0x040c French (Standard) 
    0x080c French (Belgian) 
    0x0c0c French (Canadian) 
    0x100c French (Swiss) 
    0x140c French (Luxembourg) 
    0x040d Hebrew 
    0x040e Hungarian 
    0x040f Icelandic 
    0x0410 Italian (Standard) 
    0x0810 Italian (Swiss) 
    0x0411 Japanese 
    0x0412 Korean 
    0x0812 Korean (Johab) 
    0x0413 Dutch (Standard) 
    0x0813 Dutch (Belgian) 
    0x0414 Norwegian (Bokmal) 
    0x0814 Norwegian (Nynorsk) 
    0x0415 Polish 
    0x0416 Portuguese (Brazilian) 
    0x0816 Portuguese (Standard) 
    0x0418 Romanian 
    0x0419 Russian 
    0x041a Croatian 
    0x081a Serbian (Latin) 
    0x0c1a Serbian (Cyrillic) 
    0x041b Slovak 
    0x041c Albanian 
    0x041d Swedish 
    0x081d Swedish (Finland) 
    0x041e Thai 
    0x041f Turkish 
    0x0421 Indonesian 
    0x0422 Ukrainian 
    0x0423 Belarusian 
    0x0424 Slovenian 
    0x0425 Estonian 
    0x0426 Latvian 
    0x0427 Lithuanian 
    0x0429 Farsi 
    0x042a Vietnamese 
    0x042d Basque 
    0x0436 Afrikaans 
    0x0438 Faeroese 
      

  10.   

    上面那个不算,我把例子压缩了一下发到了
    http://www.hidotnet.com/Forum/View.aspx?fbId=7&Id=2852
    你可以下载睇一下。
      

  11.   

    语音朗读开发包
    http://www.smartread.net/cn/smartreadsdk
      

  12.   

    在VB中使用文字朗读引擎(TTS)技术
       现今市面上流行的一些英语学习软件,在广告词上经常说自己使用了国际顶尖的全程语音TTS技术,能进行整段英文的流利朗读,并能自由调节朗读的速度与频率等。那么,这个神奇的TTS究竟是什么东西呢?   其实,TTS是微软出品的一套文字朗读引擎(Text-To-Speech Engine),这些英语软件就是调用它来进行英文朗读的。我们在英语学习软件的编程开发中也可使用TTS技术,下面笔者将利用Visual Basic 5.0来揭开TTS神秘的面纱。   一、安装TTS引擎 
      TTS引擎所需的Microsoft Text-to-Speech Engine与Microsoft Speech API软件都可到微软的站点去下载,也可以在“金山词霸2000”或“金山词霸.net”的安装光盘上找到(文件名为MSTTS.EXE与SPCHAPI.EXE)。安装了TTS引擎后,在Windows所在目录下会生成一个SPEECH目录,其中有一个Vtxtauto.tlb文件,在编程时我们需要调用它。   二、在VB中引入Vtxtauto.tlb文件 
      进入VB 5.0,执行选单命令“文件/新建工程/标准EXE”并确定,然后执行选单“工程”中的“引用”,单击“浏览”按钮到Windows目录下的SPEECH子目录,打开Vtxtauto.tlb文件,将“VoiceText 1.0 Type Library”添加到引用列表中,选中它并单击确定。将库Vtxtauto引入VB后,我们可以通过选单“视图”中的“对象浏览器”来了解它所封装的类,以及各类成员函数的属性的意义、使用格式等信息。一些主要的方法与属性意义,笔者在下面的源程序中将给出注释,在这里就不详细列出,请参见附图1。  
      三、设置控件及属性 
      在FORM1上添加三个Label控件、一个TextBox控件、一个HScrollBar控件和六个CommandButton控件。窗体及各控件的主要属性设置如下:   FORM1:Caption=“英文朗读”   LABEL1:Caption=“请输入英文文档”   LABEL2:Caption=“朗读速度”   LABEL3:Caption=“ ”   (LABEL3标签用来显示朗读速度值)   TEXT1:Text=“Please input english text”;ToolTiptext=“请输入或粘贴英文文档”; MultiLine=True;ScrollBars=3-Both   HSCROLL1:名称=SpeedChange;Min=90;Max=300(Min与Max属性值分别用来限定可调节的语速的最小与最大值)   COMMAND1:名称=read;Caption=“朗读”   COMMAND2:名称=pause;Caption=“暂停”   COMMAND3:名称=stop;Caption=“停止”   COMMAND4:名称=prev;Caption=“上一句”   COMMAND5:名称=next;Caption=“下一句”   COMMAND6:名称=quit;Caption=“退出”   四、编写代码 
      下面我们就可以一步步地编写代码,具体代码如下:   '在窗体装载时调用Register方法注册,括号内的两个参数是字符串   Private Sub Form_Load()   Call VTxtAuto.VTxtAuto.Register(Space(8), Space(8))   '因为语速的默认值为170,故水平滚动条的初值也设为170   SpeedChange.Value = 170   End Sub   '设置朗读速度调节代码,当水平滚动条的值Value发生变化时将其赋给控制语速的Speed属性   Private Sub SpeedChange_Change()   VTxtAuto.VTxtAuto.Speed=SpeedChange.Value   Label3.Caption = SpeedChange.Value   End Sub   '设置“朗读”按钮代码   Private Sub read_Click()   '如果朗读出错,则转到出错处理标记模块ErrorHandler   On Error GoTo ErrorHandler   '调用方法Speak进行朗读,第一个参数是要朗读的文本,第二个参数是设置朗读风格   Call VTxtAuto.VTxtAuto.speak(Trim(Text1.Text), vtxtsp_VERYHIGH + vtxtst_READING)   Exit Sub   ErrorHandler:   MsgBox "只能朗读英文文档,不能朗读汉字字符!", , "出错信息"   End Sub   '设置“暂停”按钮代码   Private Sub pause_Click()   If VTxtAuto.VTxtAuto.IsSpeaking Then   '如果属性IsSpeaking为真,则表示正在朗读,调用AudioPause方法暂停朗读   Call VTxtAuto.VTxtAuto.AudioPause   pause.Caption = "恢复"   Else   '如果已经处于暂停状态则调用AudioResume方法恢复朗读   Call VTxtAuto.VTxtAuto.AudioResume   pause.Caption = "暂停"   End If   End Sub   '设置“停止”按钮代码,调用StopSpeaking方法停止当前朗读   Private Sub stop_Click()   Call VTxtAuto.VTxtAuto.StopSpeaking   End Sub   '设置“上一句”按钮代码,调用AudioRewind方法往后跳过一句   Private Sub prev_Click()    Call VTxtAuto.VTxtAuto.AudioRewind   End Sub   '设置“下一句”按钮代码,调用AudioFastForward方法向前跳过一句   Private Sub next_Click()    Call VTxtAuto.VTxtAuto.AudioFastForward   End Sub   '设置“退出”按钮代码   Private Sub quit_Click()    Unload Me   End Sub   本程序在中文Windows 95/98、VB 5.0环境下运行通过。运行时在文本编辑框中输入或粘贴英文文档,然后单击“朗读”按钮就可播放读音,运行界面如图2。  
      五、程序改进思路 
      本文对在VB编程中使用TTS技术只是起个抛砖引玉的作用,熟悉VB编程的电脑爱好者来可以对本程序作一些改进,例如增加对声卡和TTS引擎是否安装的检测、增加从文本文件或数据库中读取文档的功能、增加让用户选择朗读的优先级和发声音量调节等功能。这些功能实现起来较为复杂,感兴趣的读者可进行深入研究。