当前位置: 首页 > news >正文

怎样更新网站内容合肥市高端网站建设

怎样更新网站内容,合肥市高端网站建设,游戏开发物语下载,学网络营销要多少钱关键词 自助机产品、排队呼叫功能、网络喇叭、百度语音合成SDK、微软TTS 阅读建议 对自助机产品功能扩展感兴趣的读者、需要实现远程语音呼叫功能的开发者、想要了解网络喇叭选型及其使用的技术人员、对百度语音合成SDK和微软TTS感兴趣的开发者 阅读时长 预计阅读时长&#xf…

关键词

自助机产品、排队呼叫功能、网络喇叭、百度语音合成SDK、微软TTS

阅读建议

对自助机产品功能扩展感兴趣的读者、需要实现远程语音呼叫功能的开发者、想要了解网络喇叭选型及其使用的技术人员、对百度语音合成SDK和微软TTS感兴趣的开发者

阅读时长

预计阅读时长:15-20分钟。这个阅读时长是基于文章内容的详细程度和技术深度来预估的,读者可以在这个时间内较为全面地了解整个项目的需求、解决思路、准备工作以及具体的开发工作。

目录

需求

解决思路

准备工作

开发工作

准备

百度语音合成SDK(短文本)的使用

申请账号获得授权

调用百度语音合成SDK

微软TTS的使用

获取当前Windows中的发音人信息:

 调用微软TTS

其他代码


需求

近日公司的自助机产品要在现有自助服务功能的基础上,增加一个排队呼叫功能。考虑到现有自助服务需要对申请人进行语音提示,新增的排队呼叫发声不能放在本地,应另外想办法。

解决思路

经研究采用了网络喇叭的方式:本地语音提示,仍然采用本机TTS并发声播放;另购入一个网络喇叭,在需要对排队人员进行呼叫时,本机从服务器获取呼叫信息(排队号、窗口),调用网络喇叭自带的TTS,或者使用互联网(如百度开放平台)的语音合成,实现远端(喇叭安装在等候区上方)播放。

准备工作

网络喇叭的选型:由于等候区上方的吊顶周边无电源,故选择了一款支持POE供电的网络喇叭。喇叭自带配套软件,可实现文本合成、实时采集等功能。

POE供电模块:网络喇叭功率20W,需要选择单口供电功率20W以上的POE交换机或者供电模块。

将POE交换机连接电源,自助机连接网线至POE交换机,再从该交换机引出一根网线,经由吊顶穿线,连接等候区上方的吊装网络喇叭。

开发工作

准备

在Visual Studio中,使用Nuget安装Baidu.Aip包

使用Nuget安装System.Speech包,并添加“using System.Speech.Synthesis;”的引用

百度语音合成SDK(短文本)的使用

申请账号获得授权

注册百度开发者平台账号,新建应用并申请百度云语音合成服务,最终得到API_KEY、Secret_KEY两个参数值。

调用百度语音合成SDK

var API_KEY = this.txtAppKey.Text;
var SECRET_KEY = this.txtSecreKey.Text;
var _ttsClient = new Baidu.Aip.Speech.Tts(API_KEY, SECRET_KEY);
_ttsClient.Timeout = 60000; // 修改超时时间
// 可选参数
var option = new Dictionary < string,object > () {{"spd",GetStandardSpeed(this.trbSpeed.Value)}, // 语速,取值0-15,默认为5中语调{"vol",GetStandardVolume(this.trbVolume.Value)}, // 音量:基础音库取值0-9{"per",cbBaiduReader.SelectedIndex}, // 发音人:度小美=0,度小宇=1,度逍遥(基础)=3,度丫丫=4{"aue",6} //下载的文件格式, 3:mp3(default) 4: pcm-16k 5: pcm-8k 6. wav};
// 使用提供的文本和可选参数进行语音合成  
var result = _ttsClient.Synthesis(this.txtContent.Text.Trim(), option);  
// 检查结果的错误代码,如果为0(或result.Success为真),表示合成成功  
if (result.Success) // 或 result.ErrorCode为0  
{  // 使用MemoryStream来读取合成后的语音数据  using (MemoryStream ms = new MemoryStream(result.Data))  {  // 使用SoundPlayer来播放语音  using (System.Media.SoundPlayer sp = new System.Media.SoundPlayer(ms))  {  sp.Play();  }  }  
}

注:由于System.Media.SoundPlayer仅能播放wav,故百度语音合成参数“aue”固定位6(wav格式)。

微软TTS的使用

获取当前Windows中的发音人信息:
 

// 使用SpeechSynthesizer类创建一个语音合成器实例,并确保在完成后释放资源  
using (SpeechSynthesizer synthesizer = new SpeechSynthesizer())  
{  // 遍历并获取系统已安装的所有语音  foreach (var voice in synthesizer.GetInstalledVoices())  {  // 获取当前语音的详细信息  var info = voice.VoiceInfo;  // 将语音的名称添加到comboBox1的下拉列表中,供用户选择  comboBox1.Items.Add(info.Name);  }  
}

 调用微软TTS

// 使用SpeechSynthesizer类创建一个新的语音合成器实例  
using(var synthesizer = new SpeechSynthesizer()) {// 将语音输出设置为默认音频设备  synthesizer.SetOutputToDefaultAudioDevice();// 从comboBox1中选择一个语音,这里的comboBox1可能是一个下拉列表,用于选择不同的语音  synthesizer.SelectVoice(comboBox1.Text);// 设置语音的音量,音量值通过调用GetStandardVolume函数和trbVolume控件的值来确定  synthesizer.Volume = GetStandardVolume(this.trbVolume.Value);// 设置语音的语速,语速值通过调用GetStandardSpeed函数和trbSpeed控件的值来确定  synthesizer.Rate = GetStandardSpeed(this.trbSpeed.Value);// 读取txtContent文本框中的内容,并去除首尾的空白字符,然后使用语音合成器朗读这段文本  synthesizer.Speak(this.txtContent.Text.Trim());
}

其他代码

另外,考虑到百度语音合成和微软TTS的音量、语速的取值范围不尽相同,故编写二者标准化方法进行转换:

// 定义了一个私有方法GetStandardVolume,用于根据当前的TTS引擎获取标准音量。 
// 入参为微软tts要求的0-100
private int GetStandardVolume(int currentVolume)    
{    // 判断当前的TTS引擎是否为百度。  // 如果是百度引擎(音量范围0-9),则将当前音量乘以0.09作为标准音量返回。  // 如果不是百度引擎,则直接返回当前音量。  return currentTTSEngine == CurrentTTSEngine.Baidu    ? (int)(0.09 * currentVolume)    : currentVolume;    
}    // 定义了一个私有方法GetStandardSpeed,用于根据当前的TTS引擎获取标准语速。  
//入参为微软tts要求的-10~10
private int GetStandardSpeed(int currentSpeed)    
{    // 判断当前的TTS引擎是否为百度。  // 如果是百度引擎(语速取值范围0-15),则计算标准语速,计算方式为:当前语速加10后乘以0.75,再加0.5,最后转换为整数返回。  // 如果不是百度引擎,则直接返回当前语速。  return currentTTSEngine == CurrentTTSEngine.Baidu    ? (int)(0.75 * (currentSpeed + 10) + 0.5)    : currentSpeed;    
}

至于上面映射的线性关系参数的确定,让AI帮了忙:

http://www.yayakq.cn/news/871092/

相关文章:

  • 免费公司网站怎么做商丘企业网站建设推荐
  • 双语网站建设报价wordpress 如何登录
  • 怎么做网站二维码莱芜住房和城乡建设厅网站
  • 威海网站建设联系方式品牌网站建设哪里好
  • 网站建设开发ppt模板怎么建网上商城
  • 客户问 你们网站怎么做的杭州搜索引擎排名
  • 跨境电商网站开发公司连云港网站开发公司
  • 各大网站的名字大全百度网盟推广怎样关闭
  • 网站建设 微信小程序云服务器品牌前十大排名
  • 建设网站公司兴田德润在哪里繁体商城网站模板
  • 广州网站开发制作wordpress计数ip
  • 抖音运营seo优化方案报价
  • 有哪些免费做外贸网站网站建设开发公司有哪些
  • 建设银行 钓鱼网站肥城网站建设公司
  • 用自己的电脑建设网站科技有限公司经营范围
  • 云阳网站建设蘑菇街网站模板
  • 制作网站要钱吗有没有免费装修设计的网站
  • 网站模板助手关于申请网站建设维护经费
  • 网站地图提交地址Wordpress hover插件
  • 洪山网站建设wordpress用什么语言
  • wordpress多站版wordpress评论分页不显示不出来
  • 南京做网站引流的公司葫芦岛网站网站建设
  • 做自己的网站流量怎么学校网站建设调查表
  • 园洲做网站公司wordpress著名案例
  • 怎样办自己的网站获取网站全站代码
  • 购物网站开发原理绍兴网站网站建设
  • 给女友做网站深圳外贸网站开发
  • wordpress 可以商业鄂州seo多少钱
  • 怎么创网站赚钱吗小程序定制公司推荐
  • 学淘宝运营大概多少钱福建seo推广方案