• 用TTS实现文本转语音


    最近被toefl单词虐成狗::>_<::  

    想做一个可以自动把单词转成语音的软件,这样就可以在路上戴耳机边走边听啦~

    用微软的TTS语音库可以很容易地实现。早期的TTS要想实现中英文混合朗读还很麻烦,然而Win10里自带的新版SDK已经解决了这个问题。可以自动识别出中文和英文。这点超赞~

    注意:如果用的是英文版系统,需要先安装中文Speech Library

    然后在控制面板--语音识别选项里可以看到这个新的语音库:

    进入VS,新建一个C#工程,然后在Solution Explorer----References上右键,Add References,添加如下选项:

    实现文本转语音有两种Library,System.Speech或者SpeechLib。这里我用的SpeechLib

    基本的朗读功能实现如下:

    SpVoice voice = new SpVoice();            
    voice.Rate = 0; //语速,[-10,10]
    voice.Volume = 100; //音量,[0,100]
    voice.Voice = voice.GetVoices().Item(2); //语音库
    voice.Speak("中文speech");

    但是为了在手机上播放,仅仅让它读出来还不够....最好能保存到音频文件

    可以用SpeechLib自带的类:  SpeechLib.SpFileStream sfs=new SpeechLib.SpFileStream();

    还要注意一个问题:

    NT系统默认是Unicode编码,而TXT文件默认是ANSI编码。这样会导致txt文件中的中文识别不出来。解决方法是在StreamReader中自定义编码

    StreamReader reader = new StreamReader(FileName, System.Text.Encoding.Default)

    自制了一个小Demo:

    单击Select File,通过打开对话框打开txt文件

    单击Read,将文本自动转语音,并保存到D:233.mp3文件    【懒得写保存对话框啦

    Download

  • 相关阅读:
    Longest Common Prefix
    Roman to Integer
    Intger to Roman
    Container With Most Water
    Regular Expression Matching
    atoi
    Rotate List
    54. Search a 2D Matrix && Climbing Stairs (Easy)
    53. Minimum Window Substring
    52. Sort Colors && Combinations
  • 原文地址:https://www.cnblogs.com/pdev/p/4831858.html
Copyright © 2020-2023  润新知