音声認識でWebブラウザを操作する

音声認識でWebブラウザを操作する

登録しておいたWebサイト名を音声に出して喋ると、そのサイトに遷移します。Next、Backの認識も可能です。プログラムを終了するにはEndと発声します。スクロールバーの操作はマウスで行います。実際に動作させた動画は以下になります。

音声によって発せられたWebサイトに遷移している動画。カーソル操作はマウスで、手動で行っている

サンプルプログラムは以下よりダウンロードできます。
→Kinectに音声認識させるサンプルプログラム(96KB)

プロジェクトの作成

VS 2010のメニューから[ファイル(F)/新規作成(N)/プロジェクト(P)]と選択します。次に、「WPF アプリケーション」を選択して、「名前(N)」に任意のプロジェクト名を指定します。ここでは「KINECT_SpeechRecognizeWebBrowser」という名前を付けています。

ツールボックスからデザイン画面上にWebBrowser、TextBlock、StackPanel、Imageコントロールを1個ずつ配置します。

またリスト3のXML文書ファイルを、ソリューションエクスプローラー内のbin\Debugフォルダに配置しておいてください(図2)。

リスト3 XML文書ファイル(URL.xml)

<?xml version="1.0" encoding="utf-8" ?>
  <url>
  <name  tolower="PROJECT KySS">http://www.projectkyss.net</name>
  <name  tolower="Microsoft">http://www.microsoft.com/ja-jp/default.aspx</name>
  <name  tolower="SeinDesign">http://www.seindesign.net/staff/sei_R2.htm</name>
  <name  tolower="Windows Phone">http://www.microsoft.com/ja-jp/windowsphone/</name>
  <name  tolower="Kinect for Windows">http://www.microsoft.com/en-us/kinectforwindows/</name>
</url>
 図2:リスト3のURL.xmlをbin\Debugフォルダに配置した(クリックで拡大)

XAMLコードはリスト4、レイアウトは図3のようなります。

リスト4 書き出されたXAMLコード(MainWindow.xaml)

(1)StackPanel内にはプログラムから読み込んだXML文書ファイルの”tolower”属性の値(サイト名)を表示します。

<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="音声認識によるブラウザ操作" Height="792" Width="1328" xmlns:my="clr-namespace:Microsoft.Samples.Kinect.WpfViewers;assembly=Microsoft.Samples.Kinect.WpfViewers">
  <Grid>
    <WebBrowser Height="729" HorizontalAlignment="Left" Margin="12,0,0,12" Name="webBrowser1" VerticalAlignment="Bottom" Width="1065" />
    <TextBlock Height="48" HorizontalAlignment="Left" Margin="1083,12,0,0" Name="textBlock1" Text="対応URL" VerticalAlignment="Top" Width="211" FontSize="32" FontWeight="Bold" Foreground="Crimson" Background="Blue" TextAlignment="Center" />
    <StackPanel Height="251" HorizontalAlignment="Left" Margin="1083,56,0,0" Name="stackPanel1" VerticalAlignment="Top" Width="211" /> ■(1)
    <Image Height="120" HorizontalAlignment="Left" Margin="1144,334,0,0" Name="sourceImage" Stretch="Uniform" VerticalAlignment="Top" Width="160" />
  </Grid>
</Window>
 図3:各コントロールを配置した(クリックで拡大)

参照の追加

VS2010のメニューから「プロジェクト(P)/参照の追加(R)」と選択して、各種コンポーネントを追加しておきます。今回追加するのは、Microsoft.KinectとMicrosoft.Speechの2つです。.NETタブ内に表示されていないDLLファイルは「参照」タブからDLLファイルを指定します。

Microsoft.Kinect.dllは、C:\Program Files\Microsoft SDKs\Kinect\v1.5\Assemblies内に存在しますので、これを指定します。

Microsoft.Speech.dllは
C:\Windows\assembly\GAC_MSIL\Microsoft.Speech\11.0.0.0__31bf3856ad364e35\
に存在しますので、それを指定してください。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30