二、语音合成(TTS)

news/2024/11/8 15:15:09/

语音合成使用

平台: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");}

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

相关文章

TTS资料

开放分类&#xff1a; 计算机技术、 音频、 语音、 视听、 人力资源培训 目录 • TTS概述 • TTS解析 • 中文TTS系统 • TTS与CTI • TTS漫谈 TTS概述 TTS是Text To Speech的缩写&#xff0c;即“从文本到语音”。它是同时运用 语言学和 心理学的杰出之作&#xff0c;在内置芯…

android TTS语音播报

如今在Android中开发中文语音播报有各式各样的云服务、SDK、API等云云&#xff0c;但是大部分服务是需要联网支持来进行语音合成的&#xff0c;在中文语音合成方面&#xff0c;科大讯飞无疑是佼佼者&#xff0c;而且它也提供了离线语音合成包&#xff08;需要按分发数量和使用时…

2022 interspeech TTS

文章目录 JETS: Jointly Training FastSpeech2 and HiFi-GAN for End to End Text to Speechmethod单阶段训练模型的原理对齐原理 Enhancement of Pitch Controllability using Timbre-Preserving Pitch Augmentation in FastPitchmethodpitch shift by VocGANmodel architectu…

语音合成(TTS)应用方案一二三

前言 语音合成是指将文字转成语音(TextToSpeech)进行播放&#xff0c;本文主要介绍三种实现方案。 一、web端实现 通过h5提供的网页语音API来实现&#xff0c;用到speechSynthesis(获取设备上可用的合成声音的信息、控制声音播放、暂停等命令)和SpeechSynthesisUtterance(管理…

TTS 文字转语音研究,效果原来这么好。

自己做了个在线文字转语音服务&#xff0c;没想到效果竟然这么好 有时候我们需要文字转语音服务&#xff0c;在网上找了好多免费的&#xff0c;但效果都不太好&#xff0c;偶然间发现了微软的Edge浏览器有个大声朗读功能&#xff0c;试了一下&#xff0c;效果竟然出奇的好&…

TTS技术简单介绍和Ekho(余音)TTS的安装与编程

TTS技术简单介绍和Ekho&#xff08;余音&#xff09;TTS的安装与编程 zouxy09qq.com http://blog.csdn.net/zouxy09 一、TTS技术简单介绍&#xff1a; TTS技术&#xff0c;TTS是Text To Speech的缩写&#xff0c;即“从文本到语音”。它将计算机自己产生的、或外部输入的文字信…

ChatAudio 通过TTS + STT + GPT 实现语音对话(低仿微信聊天)

效果图 什么是 STT 和 TTS&#xff1f; STT 是语音转文字&#xff08;Speech To Text&#xff09;TTS 是文字转语音&#xff08;Text To Speech&#xff09; 为什么要使用 SST TTS 如果用户直接输入音频&#xff0c;OpenAI 的 API 中并没有直接使用语音和 GPT 进行对话的功能。…

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

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