Windows 10 IoT Core の Anniversary Update で日本語音声合成しちゃいました - DevWire (2016/9/26)
|
||
|
|
||||||||||||||
|
||||||||||||||
Hot Topics | ||
秋の組み込みイベントと言えば?最新 IoT から Anniversary Update で進化した Windows 10 IoT まで。 | ||
組み込みエンジニアの皆さまが楽しみにしている秋のイベントと言えば?そうです。Embedded Technology/IoT Technology 展 ですよね! DevWire の読者で行ったことがない方は貴重な存在ですが、ぜひご来場されることをおススメします!昨年から併設された IoT Technology 展ですが、今年はさらに IoT の波が押し寄せそうな予感です。出展社も初参加の企業がたくさんいらっしゃるようです。マイクロソフトは、かつての伝統は守りつつ新しい分野を突き進みます。さてさて、まだ、少し早いですが今年の IoT Technology 展のマイクロソフトを少しだけご紹介してしまいます。IoT もバズワードの時期を脱して、実際のビジネスに活用を始めた企業が増え始めたように感じています。マイクロソフトは早くから IoT を推進してきましたが、IoT に興味を持つお客様が持っている疑問点は共通していることがわかってきました。「何から始めるの?」「だれと組めばよいの?」「本当に儲かるの?」この 3 つです。今年のマイクロソフトはこの疑問点に対して明確にお答えいたします!マイクロソフトでは、すでに IoT として完成させたソリューションをご紹介することはもちろんですが、皆さまのデバイスを IoT ソリューションにして一緒にビジネスを拡大してゆくお手伝いをしたい。という思いで、この展示会に参加します。Anniversary Update で進化した Windows 10 IoT を搭載した機器で、世界を変える IoT ソリューションをマイクロソフトと一緒に作りませんか?皆さまと一緒に売るソリューションを構築したい。この思いをぜひ、ブースに来て感じてください。こんなデバイスやアイデアがあるんだけど、IoT にしたらおもしろいだろうなー。でも、システム構築までは賄えないし。そもそもデバイスもまだできてないし。そんなことを思っている方にはぜひ、マイクロソフト ブースに来てご相談ください。半年後には、りっぱな IoT ソリューションにして世の中に売り出しているかもしれません!ブースや招待講演のご紹介は次号に取っておくとして、今回はマイクロソフトのテクノロジを使ってビジネスを改善した最新事例や最新 POC (Proof of Concept) をご紹介します! | |||||||||||||||
|
こんなの未来のお話でしょ? 莫大な投資が必要でしょ? 開発期間は何年?そんな疑問を持った方はぜひ、IoT Technology のマイクロソフト ブースと招待講演にご参加ください。来月号では、もっと事前情報を公開しますので、お楽しみに! | ||
Windows 10 IoT Core の Anniversary Update 情報!Windows 10 IoT Core で日本語音声合成ができるようになりました! | |||||
|
今回は、Hyper-V 上で動作する Windows 10 IoT Core のイメージの作成について述べさせていただきます。まず必要なものは、Windows 10 IoT Core の通称 OS キットと呼ばれるものです。残念ながらそのまま SD や内蔵フラッシュに書き込んで動作するイメージは Web 上では提供されておりませんので、ご自身にて作成する必要があります。OS キットは MSDN もしくは OEMCLA をお持ちのお客様は入手可能になっております。それと OS イメージを作成するために Windows ADK for Windows 10 Version 1607 が必要になりますので、入手ください。 もちろんこれらを動作させるには Windows 10 Version 1607 が必要です。Hyper-V も動作させるので 64 bit バージョンがいいです。本稿ではパス名などは 64 bit に準拠しています。これらをインストールし、ICD を起動します。上記の画面では Windows イメージのカスタマイズを選択し、続行します。Windows 10 IoT Core の OS キットがインストールされると上記画面の「Windows イメージは、Microsoft パッケージに基づいています」を選択できるようになるので「次へ」で続行して、「ハードウェアコンポーネントドライバの選択」では C: \Program Files (x86) \Windows Kits\10\OEMInputSamples\amd64\mbm\IoTCore_MBM_1024x768. bsp.config.xml を選択します。あとは続行して、ICD のメイン画面にて「作成」、「FFU」を実行してください。ある程度の時間はかかりますが、flash.ffu ファイルが C: \Users\<ユーザー名>\Documents\Windows Imaging and Configuration Designer (WICD) \<プロジェクト名>\Production に作成されます。作成の時には USB などの外部記憶装置を外しておくと失敗が少ないですので、もし失敗した場合には外してください。 ffu は複数のパーティションを含むディスクのイメージとなっており、このイメージを SD カードに書き込むことで Raspberry Pi 2&3 や MBM はここから Boot し、Windows 10 IoT Core が動作するようになっています。次に Hyper-V の仮想ディスクを作成します。Hyper-V マネージャー (virtmgmt.msc) やディスクの管理 (diskmgmt.msc) を起動して、VHD ファイルの作成を行います。VHDX 形式で固定サイズ (4 GB もあれば十分) で作成ください。できた VHD ファイルをマウントします。ディスクの管理や DISKPART.EXE にてドライブ番号を確認します。マウントすることで VHD ファイルの中身にアクセス可能になりますので、ここで OS イメージを書き込みます。ADK をインストールしてできた Windows Kits、展開およびイメージング ツール環境 (環境変数の整ったコマンド プロンプト) を "管理者として実行" で起動し、先ほど作成された FLASH.FFU を VHD ファイルに書き込みます。> dism /apply-image /imagefile:<作成された flash.ffu> /applydrive:\\physicaldrive:<ドライブ> /skipplatformchek と実行します。(: 前後に空白を入れないでください。) そして、VHD を切断 (アンマウント) しておきます。次に作成された VHD を Boot とする仮想マシンを作成します。この際に世代の選択にて、第二世代を選択してください。これは uEFI での Boot を意味します。メモリは 1 GB もあれば十分です。あとは、仮想マシンを起動してください。Windows 10 IoT Core が動作しているはずです。仮想マシンにネットワークアダプタとして仮想スイッチを接続するとネットワーク接続も可能になり、Device Portal はもちろん Visual Studio でのリモート デバッグも行えます。残念ながら Audio や、GPIO, I2C などの周辺インターフェイスは存在しませんが、この環境でアプリケーションの開発が楽になることを期待いたします。続いて、Windows 10 IoT Core で日本語音声合成ができるようになったので取り上げてみたいと思います。Windows 10 IoT Core で UWP が動作することはすでに既知の事実です。音声合成の機能ももちろんあります。しかし、以前のバージョンですと日本語の合成エンジンが搭載されていませんでした。今回の Update にて (デフォルト イメージには含まれていませんが) 日本語合成エンジンを組み込み使用することができるようになりました。 音声合成のサンプル アプリケーションはこちら で参照できます。 通常デスクトップではこの合成エンジンの選択は設定から選択します。音声合成エンジンはアプリケーションからも選択できます。上記で紹介したアプリケーションをビルドして、ローカルコンピュータで動作させた例がこちらいくつかの音声合成エンジンがインストールされています。これを Windows 10 IoT Core で動作させるとDavid Zira Mark と en-us の合成エンジンしか見つかりません。これ以外の言語の音声合成エンジンは "Microsoft-Windows-OneCore-Microsoft-SpeechData- (言語) -Package.cab" という名称で提供されています。具体的には OS キットをインストールすることで、C: \Program Files (x86) \Windows Kits\10\MSPackages\retail\<アーキテクチャ>\fre フォルダーに格納されます。前述のとおりバージョン 1511 では日本語のパッケージはありませんでした。しかし 1607 で提供されるようになったわけです。ターゲット デバイスに、USB メモリやネットワーク共有を使用して、MSPackages にあるファイルをコピーし、SSH や PowerShell にて、この Cab ファイルを OS に適用させます。applyupdate -stage Microsoft-Windows-OneCore-Microsoft-SpeechData-ja-JP-Package.cab applyupdate -commitコミットを実行することで Update が実行されます。(リモート セッションは切断されます。慌てないでください) OS の Update が完了して、再度アプリケーションを実行した状態がこちらこの様に日本語の音声合成エンジンが利用可能になりました。(ja-jp とついているのが日本語対応です。)ただし、Windows 10 IoT Core では日本語入力ができませんので、ここで自由にしゃべらせる。と、いうわけにはいきません。以上、ありがとうございました。 |
DevWire のバック ナンバーをご紹介 | ||
とっても役に立つ、みんな大好き DevWire のバック ナンバーです。DevWire バック ナンバー サイトはこちら | ||
【セミナー・トレーニング情報】 | ||
多くのセミナー、トレーニングを開催しております。ぜひご活用ください。●アヴネット株式会社 トレーニング ●岡谷エレクトロニクス株式会社 セミナー/トレーニング情報 ●東京エレクトロン デバイス株式会社トレーニング セミナー・イベント ●菱洋エレクトロ株式会社 イベント・セミナー情報 |
Column | ||
具体的な IoT のプロトコルのお話をするためには IoT における通信の要件を整理し、プロトコルがはたすべき役割を明確にすべきだと思いました。そこでこれらの要件についてこれから 6 回くらいに分けてお話していきたいと思います。一般的に IoT に適したプロトコルは、軽量、省電力、低速あるいは不安定ネットワークでも稼働する、また負荷分散が可能などの要件が挙げられます。今回はその第一弾として「省電力」を取り上げます。 | ||
IoT システムではセンサーノードが大量に広範囲なフィールドに展開される可能性があります。それらのデバイスは常に電源が供給される場所に設置されるとは限りません。たとえばアグリ系の IoT システムであれば、商用電源のない圃場のただなかにセンサーノードが設置されるかもしれません。また海洋観測系のシステムであれば、陸から遥か離れた洋上かもしれません。また野生動物にセンサーノードを設置する場合も同様電源を外部から供給する手段はありません。このような電源の供給がままならない場合は電池を用いるしかありません。 |
そして、それがなるべく長時間使用できるように工夫しなければなりません。電池を頻繁に交換するにはこれまた多大なコストがのしかかってきます。太陽電池などエナジーハーベスト系の手段で電力を補うことも可能でしょうが、十分な電力を得るためにはそれなりのコストがかかってしまいます。そこでどうしてもデバイス内の消費電力を抑えることが必須となってきます。 | ||||
消費電力といってもプロトコルを処理するための CPU にかかる消費電力と通信そのものにかかる消費電力とは別に議論することが適当かと思います。まずプロトコルを処理するための CPU にかかる消費電力ですが、CPU はクロック周波数が低ければ電力はあまり消費しません。またクロック周波数が同じであれば CPU を構成する素子の数が少ないほど電力消費が少なくて済みます。また、最近の CPU はスリープ機能を搭載されており、CPU を休眠状態にして消費電力を抑える機能を持ったものもあります。 |
これらからプロトコルの処理はなるべくシンプルで、処理が必要ないときは CPU を休眠させておくことが可能なプロトコルが要件になってきます。たとえば絶えずセンター側からポーリングされ反応を返さなければならないプロトコルは向いていないかもしれません。 | ||||
一方通信そのものにかかる消費電力について考えてみましょう。通信では一般的に受信時より送信時の方がより電力を使われています。また回線を常につないでおくと通信インターフェイスの消費電力も無視することができません。また無線系の場合は RF モジュールをアクティブにしておくだけでもかなりの電力を消費する場合もあります。ですから通信はデータを送るときのみ回線をつなぐという使い方でも支障のないプロトコルが求められているのです。 |
今回は IoT システムが求められるプロトコルの要件のうち、「省電力」について考えてみました。これ以外の要件についても次回以降順次考えてみたいと思います。 |
ほっとひと息 | ||
編集後記 DevWire 編集部 福田 | ||
はじめまして。DevWire の編集担当をお手伝いさせていただきます、福田と申します。よろしくお願いいたします。二ひきからハムスターはかわいいでもめいわくなところもあるガラガラとうるさいところくさいところでもなによりもめいわくなことはどんどんふえることいったい何びきになるんだろうこれは、弟が小学 6 年生の卒業文集に載せた詩です。あのころ、妹が当時流行っていたハムスターを 2 匹買ってもらい、飼育していました。"ねずみ算" とはよく言ったもので、どんどん、どんどん増えつづけ、アッ! という間に数十匹。気がつくと、飼育ケージの数も 2 ケタに届く勢いでした。兄弟のなかでも周りのことにあまり興味のない弟は、ハムスターにもそんなに関心を示すふうでもなく過ごしていたのに、まさか卒業文集の詩のテーマがハムスターだとは驚きです。それも、飼い主である妹以外の家族全員が思っていたことを、的確に表現しています。現在、エンジニアをしていますが、母にいつも「理系脳の子は理解不能」と不思議がられていた弟が書いた詩とは思えない出来です。でも、それくらいハムスターの印象が強烈だったのでしょう。妹は一匹一匹に名前をつけてかわいがり、愛情たっぷりに育てていました。担任の先生から「そんなにたくさんいるなら 2 匹ちょうだい」と言われたときも、妹は我が家で生まれたハムスターをだれにも渡したくないと、わざわざペット ショップで別のハムスターを買って、先生には内緒でそれをプレゼントしました。ハムスターは最終的には 50 数匹にまで増えつづけましたが、それからは雄雌見分けられるように飼い主として成長した妹が、雄と雌を別々にし、我が家のハムスター算は決着を迎えました。 | ||
▲ ページのトップに戻る |
Windows Embedded DevWire に関するお問い合わせはこちら: |
kkoedadmin@microsoft.com |