Azure

UWP で Speech to Text を試してみた

UWP で、Speech to Text を試してみました。

参考にした情報は、下記です。
https://www.microsoft.com/cognitive-services/en-us/Speech-api/documentation/GetStarted/GetStartedCSharpWin10

サンプルのソースをBuildして、MADOSMAで動かすとこんな感じ

UWP は、 Windows.Media.SpeechRecognition を利用することで、Speech to Text ができちゃいます。

 

UWP で、マイクでぐぐると SpeechRecognizer の情報がすぐにひっかかります。

かずきさんのBlogをみて、そのまま作ったアプリをMadosmaで動かした画像がこちら。

 

これは、めちゃ便利や。。。

 

ちなみに、Nuget から、Microsoft.ProjectOxford.SpeechRecognition を検索できるのですが、こちらはWPF 用みたい。

 

WPF でしたら、Githubのサンプルが参考になります。
https://github.com/microsoft/Cognitive-Speech-STT-Windows

 

こいつを、UWP でインストールしようとしたら、エラーとなってインストールできませんでした。

PM> Install-Package Microsoft.ProjectOxford.SpeechRecognition-x86
  GET https://api.nuget.org/v3/registration1-gz/microsoft.projectoxford.speechrecognition-x86/index.json
  OK https://api.nuget.org/v3/registration1-gz/microsoft.projectoxford.speechrecognition-x86/index.json 199ms
Restoring packages for 'App2'.
Restoring packages for c:\users\吾郷由知\documents\visual studio 2015\Projects\App2\App2\project.json...
Install-Package : Package Microsoft.ProjectOxford.SpeechRecognition-x86 0.4.10.2 is not compatible with uap10 (UAP,Version=v1.0
). Package Microsoft.ProjectOxford.SpeechRecognition-x86 0.4.10.2 supports: net (.NETFramework,Version=v0.0)
At line:1 char:1
+ Install-Package Microsoft.ProjectOxford.SpeechRecognition-x86
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], Exception
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand
  :
  :

 

このエラーで調べたら、Emotion API で似たようなエラーが1年くらい前に出てたみたいです。
https://github.com/Microsoft/ProjectOxford-ClientSDK/issues/5

ちなみに、Emotion API は、今ではUWP でもNugetからインストールできました。
バージョンが、1.0以上のは UWP もサポートしているのかな?

まとめ

UWP でSpeect to Text をやるときは、Windows.Media.SpeechRecognition を是非使いましょう。
Azure で作成した Speech API のキーを使わないでできちゃうのが、若干気になるけど。。。

それにしても、Speech API の REST でキックする場合は、音声ファイルのURLをパラメータに積むけど、音声ファイルになっていないものは扱えないのかな??
(もっと、C#を理解しないとよくわからん。)

-Azure
-, ,