Smartphone World のブログ

はじめてのMeeGo開発日誌 第1回(どんなアプリを作る?)

 sw_cqをフォローしましょう

MeeGoアプリ開発モニターに応募いただいた西田 一人さんから、第1弾レポートが届きました。

-----------------------------------------

 

MeeGoモニターレポート 第3弾
はじめてのMeeGo開発日誌 第1回(どんなアプリを作る?)

西田 一人

8月某日、待ちに待ったタブレットPCが届く。Model TW317A5である。
Windowsが動くタブレットPCがどんなものか、MeeGoというOSがどういうものなのか、そして
その上で動くソフトを作るということへの期待と不安が交じりあった日々の始まりだ。

タブレットPCの確認

さっそく、箱を開けて中身を確認。
内容は、本体に電源コードACアダプタ、リカバリCDが3枚と簡単な説明書、保証書である。
本体にACアダプタをつないで充電を開始。充電が完了したので電源を入れる。



Windows7のタブレットPC

まずは、Windows7の動作を確認してみた。デスクトップPCと同様の初期設定を行ったあと
タッチパネルでの操作がどのようなものかを体感してみた。


本体の重量が思ったより重く、指でキー入力するにはキーパッドのサイズが少し小さく、文章を入れるには難しいが、Windows7の安定感と見慣れている安心感や、Officeなどの使い慣れたソフトが使用でき、資料の閲覧用になりそうだという点が有用だと感じた。

 

MeeGoのインストール

MeeGoユーザー会のページに「MeeGoを使ってみる」というページ
(http://www.meego-users.jp/wiki/index.php/)があり、インストール方法が丁寧に書かれている。
今回使用するTW317A5についてもすでにインストール方法が書かれており初心者にはありがたい。



ページの内容から、本体のほかに必要なものはUSBメモリ(1GB以上)とUSBキーボード、およびMeeGoのOSイメージを書き込むPCとあるのでこれらを用意した。



インストールのページの中ほどあたりにUSBメモリへの書き込みにLinux環境が必要とある。
その下にはWindows環境でもインストール可能であるような記載があるが、あとのことも考えてLinux環境をノートPCに作ることにした。

Linix環境としては
 (a) Linuxを新規HDDあるいはパーティションを作成し、インストールする
 (b) 仮想環境VMware上でゲストOSとして起動する
の2つの方法があるが、ノートPCのWindows環境を変えたくないので(b)の方法を選択する。

使用したノートPCの仕様は
CPU:Core2Duo(2.4GHz)、 メモリ:4GB、 HDD:500GB、 OS:Windows Vista(32bit)
という4年ほど前のものである。
各サイトから VMware-playerとUbuntu-10.10のisoイメージをダウンロードする。
なお、MeeGoの他のページをいろいろ探ってみた結果、MeeGoのイメージを作成する環境(http://repo.meego.com/MeeGo/sdk/host/repos/ubuntu/など)としてUbuntu-10.04かUbuntu-10.10が使われているようなので、Ubuntu-10.10のisoイメージを選択した。

VWware-playerをインストール後、VMwareを起動し、仮想環境ファイルとしてUbuntu-10.10のisoファイルを選択する。仮想マシンのハード設定としては、メモリを512MB→1GBに変更。
また、あとで分かったことであるがMeeGo-SDKをインストールするとき1ターゲットに対して約13GBほどのディスク容量が必要になる(netbookとtabletの両方であれば26GBになる)ため、仮想マシンのディスク容量として20GB→100GBに変更した。

Ubuntu-10.10が立ち上がったら、いよいよMeeGoのインストールである。 
http://repo.meego.com/MeeGo/builds/1.2.0.90/1.2.0.90.7.20110706.4/images/meego-tablet-ia32-pinetrail
からイメージファイル
meego-tablet-ia32-pinetrail-1.2.0.90.7.20110706.4.img
をダウンロードする。
ノートPCにUSBメモリを取り付け、MeeGoのイメージファイルをUSBメモリに書き込む。
ここで、「MeeGoを使ってみる」のページに、書き込み方法として、
・image-writerを使用する
・ddコマンドを使用する
の2通りの方法があるが、今回はddコマンドを使用した。
操作は、Ubuntuのメニューバーでアクセサリ→端末を選ぶ。
端末上で以下のコマンドを打ち込む。
----------------------------------------------------------------------------------------------------------------------
sudo dd if=meego-tablet-ia32-pinetrail-1.2.0.90.7.20110706.4.img of=/dev/sdb bs=4096
----------------------------------------------------------------------------------------------------------------------
なお、出力ファイルの設定of=/dev/sdbは、端末上でdmesgを実行してUSBデバイスを確認する。
USBにイメージが書き込まれたら、USBメモリをノートPCからはずし、タブレットPCに接続する。
また、USBキーボードもタブレットPCに接続する。
タブレットPCの背面にある電源SWをONにして電源を入れる。BIOSのセットアップ切り替えの画面で
右上のBBSオプションを選び、MeeGoインストール選択画面が出たら、[Installation Only]を選ぶ。
このとき、USBキーボードが接続されていると上下キーで選択できるので便利である。
その後、言語設定、時刻設定などを画面の案内に従って入力していく。
設定が終了したら再起動でMeeGoが立ち上がった。

MeeGoファーストインプレッション

画面の構成や選択肢のサイズが大きく、操作性はWindows7と比べ格段に良い。特にソフトキーボードの
各キーのサイズがちょうど良い。
また操作パネルのスクロールや拡大・縮小の応答が速く、非常に軽快である印象を受けた。

 

メニューも必要最小限ですっきりしており、操作についても大きく戸惑うこともなかった。

※ その後、MeeGoを使用しているが、たまに起動に時間がかかることがある。すぐに「MeeGo」
のロゴが表示されるときもあれば黒画面のままで左下にカーソルラインが表示されたままの
ときもある。また、ハードによるのかソフトによるのか不明であるが、たまに、応答しない
(いわゆるプチフリ)も若干あった。これはMeeGoが発展途中のためだろう。

MeeGoで実現したい機能

iPadやAndroidを搭載したタブレットPCを見ると、ユーザインターフェース(以下、UI)では基本的にタッチパネルを使用したものが主流である。
画面に表示されているものを直接タッチし、指先を動かせばその方向に動いてくれるというインターフェースは、キーボードとマウスを基本とする従来のPCのUIと比べて直接的・直感的であり、スマートである。
しかし、万人に受け入れられるものであろうか。現に、携帯電話でキー操作できていた人がスマートフォンの操作がなかなかおぼつかなくて操作の説明会に参加しているところを見ることもある。また、タッチパネルで操作する領域の最小単位は指の大きさに依存する。
そのため、パネル上に一度に表示できる選択肢や情報は従来のPCに比べて少なくなってしまう。
そのような疑問をきっかけに、だれでも容易に操作できる方法はないかと考えたとき、思いつくのは音声である。ことばで操作し、ことばで応答してくれる、そんなタブレットPCができないものだろうか。
・住所を話せばGoogleマップでその場所を表示してくれる。
・「誰々さんにメールを出したい」と発せばメールツールが起動してくれる。
・メールの本文も話したとおりに変換して送信してくれる。
・キーワードを話せば、その関連した情報を音声で話してくれる。
車載端末を考えた場合についても、運転中にタッチキーで操作するのは不可能である。
音声で入力し、音声で答えてくれる、昔、TVで見た海外ドラマ「ナイトライダー」のスーパーカーknight2000のような。そのようなUIを実現できないであろうか。
3.11の東日本大震災のあと、パーソンファインダーという消息検索のサイトが立ち上がり、各避難場所の掲示板に張られた消息情報の手書き資料を撮った写真から文字入力に変換するのに多くのボランティアがネット上で入力作業に従事したが、これも音声入力から文字への自動変換の機能があれば、キー入力の作業を経なくても現地で直接データベースへの入力ができ、瞬時に消息検索に使える可能性もある。
また、福祉面でも、目の不自由な方にもタブレットPCを支障なく使ってもらえる。
など、音声での入力機能と出力機能がもたらす価値は大きい。

 

音声認識と音声合成ライブラリを探す

では、音声認識、音声合成を実現できる可能性はあるのか。大きな目標を掲げてみたが、実際に音声認識や音声合成のスキルがあるのかというとほとんど無いに等しい状態である。
数冊の本を読んだことはあるがソフトを作成できるほどの知識は無い。
そこで、先人の方の力をお借りしようということになった。Web検索である。 
条件は
 1.日本語で入力・出力できること
 2.オープンソースであること(Linux上でコンパイル・実行できること)
 3.ライセンスフリー(無償)であること
である。
1.の条件は、できれば日本語で動かしたいという希望からである。
2.の条件はMeeGo上に移植すると考えた場合、少なくともLinix上で開発・動作できる必要がある。
音声認識・音声合成についてはいくつかのメーカーが開発を行っているようであり、完成度も高いが、基本的に有償であり、またソースレベルで公開されているものではないため、候補からはずした。
そして、日本語、Linux、無償という条件で探してみるとこの条件に合うようなシステムが見つかった。
・音声認識----- julius
・音声合成----- galatea
である。
Webページに掲載されている資料によると、juliusは音声入力ワープロのような音声入力に対して記述変換を行う大語彙連続音声認識を目的に開発されたもので、オープンソースで無償で入手できる。現在もサポートされており、最新バージョンはjulius-4.2である。
http://julius.sourceforge.jp/
また、音声合成システムgalateaは、これも資料によると「擬人化音声対話エージェント基本ソフトウェア」というものであり、顔画像合成モジュールを含んでおり、音声出力とともにエージェントの顔画像が変化するユーザインターフェースを備えている。
こちらも日本語対応でオープンソース、ライセンスフリーである。1994年ごろから情報処理学会 音声言語情報処理研究会で研究されてきたもので、2011年現在もサポートされている。
文献によると、必要なハード構成は
動作された最小構成: pentium III(1.2GHz) メモリ512MB
である。(http://sourceforge.jp/projects/galatea/

 

TW317A5はAtom(1.6GHz)/メモリ1GBの性能を持つが、音声認識と音声合成を同時に動作出来るのか現時点では不明である。しかし、諸先輩の方々により開発されてきた音声認識と音声合成システムをタブレットPCに組み込むことにより、ユーザインターフェースの新しい可能性が見えてくるのではないかと思う。


続く

 -----------------------------------------

関連記事

第1回 MeeGo Tablet UXでいろいろやってみる(第1回)

第2回 MeeGo Tablet UXでいろいろやってみる(第2回)

 

Smartphone World Volume.2は8月31日発売です!

 

 

 

 

カテゴリ
アーカイブ