.net实现简单语音朗读(TTS)功能

news/2024/4/15 14:10:17

首先,添加DotNetSpeech.dll引用,可以在这里直接下载,也可以参照这篇文章说的,在安装Speech SDK以后,在Common Files\Microsoft Shared\Speech\目录下面找到SAPI.dll,用Tlbimp.exe工具将该dll转换成.net平台下的Assembly---DotNetSpeech.dll。

然后,using DotNetSpeech;

朗读功能:

using DotNetSpeech;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Speech.Synthesis;
using System.Speech;namespace MyProject
{public class ValuesController : ApiController{public SpeechSynthesizer synth; //语音合成对象GET api/<controller>//public IEnumerable<string> Get()//{//    return new string[] { "value1", "value2" };//}GET api/<controller>/5//public string Get(string cont)//{//    return cont;//}POST api/<controller>//public void Post([FromBody] string value)//{//}PUT api/<controller>/5//public void Put(int id, [FromBody] string value)//{//}DELETE api/<controller>/5//public void Delete(int id)//{//}//[HttpPost][HttpGet]public string ToCall(string cont){//调用示例:http://192.168.6.195:8081/api/values/ToCall?cont=请,刘笑笑,李秀秀,导医台领结果吧//https://localhost:44399/api/values/ToCall?cont=请,刘笑笑,李秀秀,导医台领结果吧//SpeechVoiceSpeakFlags flags = SpeechVoiceSpeakFlags.SVSFlagsAsync;//SpVoice sp = new SpVoice();sp.Voice = sp.GetVoices(" name=Microsoft Simplified Chinese ", "").Item(0);//sp.Voice = sp.GetVoices(string.Empty, string.Empty).Item(0); //0选择默认的语音,//sp.Rate = 0;//语速//sp.Volume = 100;//音量//sp.Speak(cont, flags);synth = new SpeechSynthesizer();//使用 synth 设置朗读音量 [范围 0 ~ 100]synth.Volume = 100;//使用 synth 设置朗读频率 [范围 -10 ~ 10]synth.Rate = 0;synth.SelectVoice(synth.GetInstalledVoices()[0].VoiceInfo.Name);//synth.SelectVoice("Microsoft Lili");//Voice.Speak(ggg, SpFlags);synth.SpeakAsync(cont);return "12345";}[HttpGet]public string GetAll(){return "Success";}}
}

注:SpeechVoiceSpeakFlags是语音朗读的风格; Voice中是语音类型(语言、男(女)声),有 Microsoft Simplified Chinese,Microsoft Mary(Sam,Mike)等,

也可以这样:voice.Voice = voice.GetVoices(string.Empty, string.Empty).Item(0); //0选择默认的语音,
1选择第二个语音;Rate指的是语速。

当然,你也可以在此不写,打开控制面板中的语音设置类型和语速

生成语音文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Speech.Synthesis;
using System.Collections.ObjectModel;
using System.Web.Configuration;
using DotNetSpeech;
using Microsoft.Win32;
using System.Windows.Forms;
using System.Threading;SpeechVoiceSpeakFlags flags = SpeechVoiceSpeakFlags.SVSFlagsAsync;SpVoice sp = new SpVoice();//sp.Voice = sp.GetVoices(" name=Microsoft Simplified Chinese ", "").Item(0);sp.Voice = sp.GetVoices(string.Empty, string.Empty).Item(0); //0选择默认的语音,sp.Rate = 0;//语速sp.Speak(strCont, flags);System.Windows.Forms.SaveFileDialog dialog = new System.Windows.Forms.SaveFileDialog();dialog.Filter = " All files (*.*)|*.*|wav files (*.wav)|*.wav ";dialog.Title = " Save to a wave file ";dialog.FilterIndex = 2;dialog.RestoreDirectory = true;if (dialog.ShowDialog() == DialogResult.OK){SpeechStreamFileMode spFileMode = SpeechStreamFileMode.SSFMCreateForWrite;SpFileStream spFileStream = new SpFileStream();spFileStream.Open(dialog.FileName, spFileMode, false);sp.AudioOutputStream = spFileStream;sp.Speak("文字转语音的内容", flags);sp.WaitUntilDone(Timeout.Infinite);spFileStream.Close();}

(在WinForm和Web中都适用)

参考:http://www.microsoft.com/china/community/program/originalarticles/TechDoc/Cnspeech.mspx

        使用语音即时校对输入内容 - 斯克迪亚 - 博客园

转载于:https://www.cnblogs.com/pfs1314/archive/2011/01/11/1932870.html


http://www.ppmy.cn/news/806277.html

相关文章

UE5文本转语音TTS插件

UE4.26版本的TTS文本转语音插件&#xff0c;同时有UE5版本 使用起来也非常简单 在文本框输入想要发音的文字 关键的语音调用 项目下载地址&#xff1a;https://download.csdn.net/download/Highning0007/87337400

android原生TTS+语音引擎 实现纯离线 免费的中英TTS

之前使用百度的语音合成 sdk做了个简单的tts&#xff0c;但是它不是真正的免费和纯离线的&#xff0c;所以在查阅相关资料后&#xff0c;使用Android的原生TTS &#xff0c;因为它不支持中文&#xff0c;需要借助其他语音引擎可实现纯离线 免费的TTS。 Android原生的TTS是不支…

利用正则表达式改善TTS听书效果

最近一直在用 TTS Server 来听书&#xff0c;这个APP的语音很厉害&#xff0c;可以设置两种不同的声音&#xff0c;分别对应【旁白】和【对话】&#xff0c;听书的时候很有感觉。 在最近的一次听书时发现&#xff0c;它用【双引号“”】来区分【对话】的。 这样&#xff0c;出…

语音合成 - TTS pyttsx3

目录 1. 简单介绍 2. 代码示例 1. 简单介绍 pyttsx3 PyPIText to Speech (TTS) library for Python 2 and 3. Works without internet connection or delay. Supports multiple TTS engines, including Sapi5, nsss, and espeak.https://pypi.org/project/pyttsx3/pyttsx3 是…

C#调用TTS语音

运行界面如下图 代码如下 卡界面运行 private void button2_Click(object sender, EventArgs e){//https://developer.aliyun.com/article/264926#:~:text%E5%8E%9F%E6%96%87%3A%20C%23%E8%AF%AD%E9%9F%B3%E6%9C%97%E8%AF%BB%E6%96%87%E6%9C%AC%20%E2%80%94%20TTS%E7%9A%84%E5…

android tts 语音合成

最近公司需求 制作语音提醒功能&#xff0c; 确保设备上又合成语音的引擎 我用的是 谷歌文字转语音引擎-google_18489_20160603.apk 注意 有些设备可能已经默认设置完成&#xff0c;可以先使用demo测试一下&#xff0c;播报失败再进行设置 设置引擎的方法如下 1、安装 谷…

tts高级编程 android,Android TTS(TextToSpeech) 使用

TTS 是什么&#xff1f; TTS 是 Text To Speech 的缩写&#xff0c;即“从文本到语音”&#xff0c;是人机对话的一部分&#xff0c;让机器能够说话。 TTS 技术对文本文件进行实时转换&#xff0c;转换时间之短可以秒计算。 TTS 不仅能帮助有视觉障碍的人阅读计算机上的信息…

edge-tts微软文本转语音库

Edge-TTS是一个Python库,比较好用&#xff0c;直接pip安装。 pip install edge-tts 输入edge-tts&#xff0c;输出提示信息&#xff0c;安装完成。 usage: edge-tts [-h] [-t TEXT] [-f FILE] [-v VOICE] [-l] [--rate RATE] [--volume VOLUME] [-O OVERLAPPING][--write-me…

语音合成 - TTS gTTS

目录 1. 简单介绍 2. 代码示例 1. 简单介绍 https://gtts.readthedocs.io/en/latest/https://gtts.readthedocs.io/en/latest/ gTTS 是基于 Python 的文本转语音库&#xff0c;用于语音合成。 2. 代码示例 安装&#xff1a; pip install gTTS Python: from gtts import…

语音合成TTS

一、核心概念 1、TTS&#xff08;Text-To-Speech&#xff0c;从文本到语音&#xff09; 我们比较熟悉的ASR&#xff08;Automatic Speech Recognition&#xff09;&#xff0c;是将声音转化为文字&#xff0c;可类比于人类的耳朵。 而TTS是将文字转化为声音&#xff08;朗读出…

Coqui TTS 安装与测试

前言 本篇记录一下 Coqui TTS 的安装。Coqui-TTS 的主要作者是德国人&#xff0c;这个库似乎之前和 Mozilla 的 TTS &#xff08;https://github.com/mozilla/TTS&#xff09;有千丝万缕的关系&#xff0c;但是现在后者的 TTS 已经停止更新&#xff0c;而 Coqui TTS 更新一直很…

ASR技术和TTS技术含义及区别

1、TTS和ASR的概念区别 我们比较熟悉的ASR技术&#xff08;Automatic Speech Recognition&#xff0c;语音识别&#xff09;&#xff0c;是将声音转化为文字&#xff0c;可类比于人类的耳朵。 而TTS技术&#xff08;Text-To-Speech&#xff0c;语音合成&#xff09;&#xff…

TTS什么意思,缩写,微软TTS语音引擎(中文)5.1 “TTS”是“文本到语音(Text To Sound)”的简称

微软TTS语音引擎(中文)5.1 “TTS”是“文本到语音&#xff08;Text To Sound&#xff09;”的简称&#xff0c;TTS语音引擎为我们提供清晰和标准的美语发音。TTS5.1目前支持英语和简体中文发音。Windows98本身不支持汉语语音引擎&#xff0c;如果你使用的操作系统是Windows98&a…

windows配置启动若依前后端项目

一、后端 1、环境准备 JDK8、Redis、Mysql、Maven【并配置镜像源】 以上工具全部使用msi/exe安装&#xff0c;并勾选添加到环境变量&#xff0c;如果没有添加到环境变量可以参考其他博主关于每种怎么配置的情况 mysql新增一个目录名为ry-vue的空数据库 2、前往若依官网下载…

frida-ps 连接模拟器

问题描述&#xff1a;frida-ps -help 只有连接usb的选择&#xff0c;没有连接模拟器的选择. C:\Users\xxx>frida-ps -h Usage: frida-ps [options]Options:--version show programs version number and exit-h, --help show this help message and …

游戏贴图高清化MOD简易教程

高清MOD取自这个帖子:https://forums.ppsspp.org/showthread.php?tid26288&highlightFinalFantasy​forums.ppsspp.org 前段时间最终幻想7重置版demo上线PS4&#xff0c;试玩了下&#xff0c;果然虚幻4引擎的表现力不容置疑。 最终幻想7重置版 Demo的流程比较短&#xf…

Android Studio配置联想模拟器,联想模拟器端口号

联想模拟器端口号&#xff1a; 127.0.0.1:11509 在Android Studio控制台输入&#xff1a;

linux ps2模拟器设置,教你PS2模拟器设置手柄的方法

PS2模拟器是一款免费、并且源代码开放的软件&#xff0c;发布于在GNU通用公共许可证下&#xff0c;是一款PlayStation 2模拟器软件。PS2模拟器是世上第一个成功模拟PS2商业游戏的PCSX2模拟器。PS2模拟器下载使用C语言编写&#xff0c;可以在32位微软Windows和Linux操作系统下使…

【PS3模拟器N2N私服联机教程】

PS3模拟器N2N私服联机教程 PS3模拟器现在已经兼容高达系列游戏联机&#xff0c;为了获得更好的游戏体验&#xff0c;我开了三个RPCN私服&#xff0c;都需要配合N2N才能使用。 每个RPCN私服对应不同的N2N服务器地址 使用N2N 必须连接到我的N2N服务器才能使用我的RPCN私服&…

ps如何把自己的图与样机结合_如何利用PS制作贴图样机那

今天小编教大家一起来通过PS制作智能贴图教程&#xff0c;让我们一起来学习吧。 1.首先我们看下所谓的智能对象的图层&#xff0c;我们发现智能对象的图层关键的一点是智能对象。 2.我们双击智能对象发现他会新增一个新的文件。文件中有相应的图层&#xff0c;利用这我们就可以…
最新文章