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#を理解しないとよくわからん。)


コメント