如何在Windows phone8 中实现iphone中的siri,实现语音合成与语音识别

本文介绍了如何在Windows Phone 8应用中利用API实现类似iPhone Siri的语音合成和识别功能。通过语音合成API实现计算机生成的语音输出,以及使用语音识别API进行文本输入和命令控制。文章详细讲解了语音识别的基本步骤、语法的使用,包括简单列表语法、预定义语法和自定义XML语法,展示了如何在实际应用中处理语音识别结果。
摘要由CSDN通过智能技术生成

Windows Phone 8 app提供了新的API可以使用语音输入和输出。

 

 

对用户进行通信:语音合成 API

计算机生成的语音输出分别调用文本到语音 (TTS) 或语音合成

语音合成的简单示例代码示例:


  
  
  
  1. // 创建语音识别
  2. private SpeechSynthesizer speechOutput =
  3. new SpeechSynthesizer();
  4. private async void GetNewMemoByVoice()
  5. {
  6. await speechOutput.SpeakTextAsync("你们尹成大哥是微软全球最有价值专家");//语音播放
  7. }

当用户点击麦克风按钮时,就会听到语音播放。在下面的部分我会扩展此示例通过添加代码,以接受用户的输入使用语音识别。

TTS 功能先进的方案严重依赖语音输出的应用程序可能使用的情况下,需要更改音量、 音调或在致辞中的讲率输出。有两种方法:SpeakSsmlAsync 和 SpeakSsmlFromUriAsync。

语音输入:语音识别 API

语音识别应用程序中的使用案例两大类是文本输入和命令和控制。在第一个使用案例,文本输入的 app 只是捕获用户的话语作为文本 ; 这是有用的当用户可以说几乎所有东西,如"新"备注示例代码的功能。

在第二个使用案例、 指挥和控制,用户操作 app 口语话语而不是通过点击按钮或跨手机的脸上滑动手指。此使用案例是无手驾驶或烹饪等的方案中尤其有用。

语音识别的简单示例关于语音识别应用程序中的功能的详细信息之前,让我们看看最简单的例子:文本输入几行代码。

图 1 显示 GetNewMemo­ByVoice 方法显示较早前,但添加初始化一个识别器对象,该对象的行数与启动识别会话和处理结果。

图 1 初始化一个识别器对象、 启动识别会话及处理结果


  
  
  
  1. private SpeechRecognizerUI speechInput =
  2. new SpeechRecognizerUI();
  3. // 设置识别对象
  4. speechInput.Settings.ExampleText =
  5. "语音对象: \"百度一下尹成微软\"";
  6. speechInput.Settings.ListenText = "请领导指示";
  7. private async void GetNewMemoByVoice()
  8. {
  9. await speechOutput.SpeakTextAsync("请领导指示");
  10. var recoResult =
  11. await speechInput.RecognizeWithUIAsync();
  12. // 设置语音识别语法
  13. Memo_TB.Text =
  14. recoResult.RecognitionResult.Text; // 显示识别结果处理之
  15. }

当然,在实际代码中就永远不会这样,一样简单,如果你看魔术备注示例中,您将看到一个 try/catch 块,并检查成功识别。

如果您尝试此示例应用程序中通过点击麦克风图标,您会发现你说的话,您的备忘录后,出现"思维"屏幕,其次是 UI,确认后的结果在备注文本框中插入。幕后的很多事情上,最重要的是要识别语音的远程服务器上的"语法"的使用。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尹成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值