语音合成使用

平台:Microsoft Visual Stduio软件编程

1.添加添加引用:System.Speech Dll库

2. 添加命名空间 System.Speech.Synthesis就可以使用语音合成功能。


在正式调用相关语音包之前,先确认电脑是否已经安装好相关的语音包,避免出现错误。可以使用以下代码来查看,电脑中有哪些已经安装好的语音包。

SpeechSynthesizer synth = new SpeechSynthesizer();
foreach (InstalledVoice voices in synth.GetInstalledVoices()) //可查看本地电脑已经安装的语音包{VoiceInfo Info = voices.VoiceInfo;Console.Write("Name:"+Info.Name);Console.Write("   Culture:"+Info.Culture);Console.WriteLine("   Id:"+Info.ID);}voice.SelectVoice("Microsoft Tracy Desktop");//指定前面已经按照好的语音库,参数为语音库的名称

运行出现以下窗口,可以看到有哪些语音包已经被安装。

3.语音合成的使用方法

第一种方法:

SpeechSynthesizer Synth=new SpeechSythesizer();Synth.SelectVoice("Microsoft Huihui Desktop");Synth. SetOutputToDefaultAudioDevice();//设置本地设备为音频输出Synth.SpeakAsync(“文字转语音”);//异步方式播放
/*Synth.Speak(“文字转语音”);//同步方式播放Synth.Dispose();//不在使用语音合成释放资源,再次使用需要重新实例化*/

第二种方法:

SpeechSynthesizer Synth=new SpeechSythesizer();
Synth. SetOutputToDefaultAudioDevice();
Prompt str = new Prompt(“文字转语音”);
Synth.SpeakAsync(str);

第三种方法:

SpeechSynthesizer Synth=new SpeechSythesizer();Synth. SetOutputToDefaultAudioDevice();PromptBuilder str = new PromptBuilder();str.AppendAudio(“C:\\Test\\tts.wav”)//把字符串语音合成的音频保存在本地str.AppendText(“文字转语音”);synth.SpeakAsync(str);

最简单的用法(通过输入的字符,调用语音合成的功能):

   class TTS{SpeechSynthesizer synth = new SpeechSynthesizer();public void tts(string str){if (str!=""){synth.SetOutputToDefaultAudioDevice();//使用默认的语音包synth.SpeakAsync(str);    //异步使用}}    }

4. 其他

(1) SpeechSynthesizer类属性:

  • Rate 获取或设置语速 -10到10之间
  • State 获取当前状态 返回2 表示暂停 0表示准备生成语音 1表示正在播音
  • Voice 获取当前语音信息(Age Culture Gender id Name等等)
  • Volume 获取或设置输出音量 0到100

(2) 常用方法:

  • Pause() 暂停语音合成
  • Resume() 继续之前暂停的语音合成
  • Dispose() 完成语音合成后释放资源
    (3) 常用事件:
  • SpeakCompleted 当完成语音合成时引发
  • StateChanged 当语音合成器状态改变时引发
  • SpeakStarted 当开始语音合成时引发

样例:

SpeechSynthesizer Synth=new SpeechSythesizer();
Synth.SetOutputToDefaultAudioDevice();
Synth.SpeakStarted += new EventHandler<SpeakStartedEventArgs>(synth_SpeakStarted);
Synth.SpeakAsync(“文字转语音”);
Static void synth_SpeakStarted(object sender, StateChangedEventArgs e){Console.WriteLine("Speak operation started");}

二、语音合成(TTS)相关推荐

  1. 讯飞文本转语音(语音合成TTS)中添加控制静音和停顿方法

    讯飞的文本转语音和语音合成TTS中,用标点符号.回车换行可以实现一定的停顿效果.如果想要更长时间的静音或停顿怎么办? 插入停顿 这里有个特殊的标记实现静音或停顿,在文字中需要停顿的地方加入 [p100 ...

  2. Unity 百度SDK 之 在线语音合成 TTS WebAPI 功能的实现

    Unity 百度SDK 之 在线语音合成 TTS  WebAPI 功能的实现 目录 Unity 百度SDK 之 在线语音合成 TTS  WebAPI 功能的实现 一.简单介绍 二.百度官网关于在线语音 ...

  3. 2022年1月语音合成(TTS)和语音识别(ASR)论文月报

    ​ 论文统计每月更新一次,主要跟踪语音合成和语音识别的发展状况(很多文章都是在会议后才发出,但不影响统计.统计过程难免存在疏漏,因此统计结果仅供参考.所有文章语音合成领域统计列表请访问http://y ...

  4. 吾剑未尝不利,国内Azure平替,科大讯飞人工智能免费AI语音合成(TTS)服务Python3.10接入

    微软Azure平台的语音合成(TTS)技术确实神乎其技,这一点在之前的一篇:含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入),已经做过详细介绍, ...

  5. 【Android语音合成TTS】百度语音接入方法,和使用技巧详解

    请尊重他人的劳动成果,转载请注明出处:[Android语音合成TTS]百度语音接入方法,和使用技巧详解 Ps. 依托于百度开放云,百度语音为合作伙伴提供了业界领先.永久免费的语音技术服务,目前已上线的 ...

  6. 语音合成TTS(Text-To-Speech,从文本到语音)

    以上内容,来自饭团"AI产品经理大本营",点击这里可关注:http://fantuan.guokr.net/groups/219/ 作者:黄钊,5年AI实战经验(图灵机器人),8年 ...

  7. react native 集成腾讯语音合成TTS(android)

    1. 实现方式说明 本文采用两种方式集成,一是Activity集成,播放的时候需要跳转到新的Activity:二是直接在模块里面集成语音合成需要的相关代码,可以理解为用js代码请求,用adroid代码 ...

  8. 语音合成TTS | AI产品经理需要了解的AI技术概念

    TTS(Text-To-Speech,语音合成),目前是一个"小而美"的AI领域,但我个人觉得非常有意思,感觉TTS在未来会被行业真正重视起来,并且会出现做得不错的创业公司. 本文 ...

  9. C++ 简单的语音合成(TTS,即文字转语音)类

    如果出现以下错误: error C4996: 'GetVersionExA': 被声明为已否决 关闭SDL: Project Properties > Configuration Propert ...

  10. 离线语音交互技术路线之语音合成(TTS)篇

      在ChatGPT大行其道之际,我心血来潮想要研究研究如何实现离线语音交互,把它和ChatGPT相结合,自己尝试实现个语音助手玩玩.本篇文章主要先从整体上分析了离线语音交互的技术实现路线,以及每个环 ...

最新文章

  1. 在JavaScript中重复字符串的三种方法
  2. 创建maven工程的时候settings.xml 几个配置的文件
  3. [转]图片自动缩放 js图片缩放
  4. html事件隐藏,Html事件列表
  5. python中的数字类型格式与运算_Python中的数字类型格式与运算
  6. python-1day
  7. 缺省参数-回顾列表的排序方法明确缺省参数的概念及作用
  8. 利用xor给shellcode加壳
  9. Android设计模式之——原型模式
  10. 【Nginx】通过反向代理配置本地图床功能
  11. c 语言 数据库 pdf下载,Visual C/C++ 编程精选集锦 数据库及图形图像分册 PDF扫描版[38MB]...
  12. Eclipse,提交代码,版本比较时,不忽略空格
  13. CMFCPropertyGridCtrl 的简单教程
  14. Lua1.0 代码分析 table.c
  15. 数据仓库模型(星型模型和雪花模型 )
  16. 韩立刚计算机网络——第四章:网络层
  17. 华硕a550jk4200公版显卡驱动适配教程
  18. Unity 代码帧动画
  19. IDEA惊天bug:进程已结束,退出代码-1073741819 (0xC0000005)
  20. 关于计算机审计应用分析的论文,计算机审计论文

热门文章

  1. delphi与python_Delphi与Python结合之二
  2. 添加manifest解决IDirect3DDevice9::GetFrontBufferData抓屏返回失败
  3. qtablewidget删除子网格线
  4. Tkinter文件夹选择路径功能+打开位置目录功能(Python3.6.X)
  5. java中类初始化_java中类和对象的初始化
  6. oracle数据库查表创建语句,转载:如何查看Oracle数据表的建表语句?
  7. 实现一个文本文件的解析类(vector,字符串解析的应用)
  8. 车牌识别 android,Android tess-two车牌识别
  9. 从excel读取数据,利用情感词典进行文本分类
  10. 心电图分析软件_动态心电图品牌排行榜