Windows Vista

私の経験ではノートPCは使用期間が2年を超えると「いつ壊れてもおかしくない」状態になります。

現在使用中のマシンは Panasonic CF-R3 (Windows XP Professional) なのですが、使用期間が2年数か月となり、かなりくたびれてきたので、新しいマシンへの移行作業を進めています。

新しいマシンはすでに購入済みの CF-R6 (Windows Vista Business) です。すでに設定をいじりまくって、外見や視覚効果などはほとんどWindows XP(というよりもWindows 2000)と同等の状態にしてあります。UACも無効化しました。

しかし、ソフトウェアの開発やデモのために動かしていた Apache, PHP, PostgreSQL のWindows版がVistaでは簡単には動かない模様。

この機会に VMware Player を導入することにしました。

日経Linux 2007年7月号のCD-ROMを使用しつつ、VMware Player 2.0 を入れて、元になる仮想マシンイメージをいじって、Vine Linux 4.1 の ISO イメージからインストールを行いました。

まず旧マシンで仮想マシンを作り、インストールが終わってから新マシンで動かしたのですが、うまく行きました。ただ、VMware Tools はまだ使えない状態です。

デフォルトの RunLevel を 3 にして、個人用 pukiwiki などを仮想マシンで動かすことにしました。

仮想マシンが動いていてもメモリはほとんど食わないように見えるのですが、startx してもvmplayer.exe と vmware-vmx.exe のメモリ使用量が増えたように見えません。

ユーザ権限以外のプロセスがメモリを食っているのかもしれません。。

MEDIA SKIN

携帯電話をシルバーのPENCKからブラックのMEDIA SKINに変更しました。

シルバーのPENCKは使用期間2年を過ぎ、表面のメタル塗装がはがれかけてみっともなくなり、はがれてきた銀色の塗装が手や服を汚すようになっていました。

今回の機種変更ではキャンペーンやらauのポイントやらでほとんどお金がかからなかったのですが、ついでに買った512MBのMicroSDカードが3000円足らずだったことに最も驚きました。

やっとワンセグにもおサイフケータイもFMラジオにも対応しましたが、有楽町ビックカメラの店員さんが言っていたとおり数字キー「3」のすぐ上に「POWER」ボタンがあり、メール入力中にうっかり押してしまって、何度もメールが消えました。

正確には、POWERを押しただけでは消えないのですが、「終了しますか?」の確認画面でどう操作すればキャンセルになるのかわからず、けっきょくキャンセルの方法がわかりません。

店員さんによれば、MEDIA SKINは表面が削れても中まで同じ色だそうです。

自宅のテレビ試聴環境

ディジタル放送の現状についてもっと知っておこうと思ったこともあり、ラジオとアナログテレビ対応PCしか持っていなかった私が、テレビとDVD/HDDレコーダーを買いました。

  • テレビ:シャープ LC-20D10(ホワイト)
  • レコーダー:パナソニック DMR-XP21V

テレビは店頭でチェックして、レコーダーは石丸電気のオンラインショップで人気を確認して、最後は楽天のムラウチでオンライン注文。

最初はアナログ放送しか受信できず「せっかく買った機器の機能がぜんぜん使えなくてもったいない」「ぜんぜん面白くない」という状況でした。

昨日、UHFのアンテナを買って、やっと受信環境が整いました。

  • アンテナ:八木アンテナ DUCA(ホワイト)
  • ついでにテレビとレコーダーをつなぐ HDMI ケーブル (1m)

DUCA を窓の外の手すりに無事に固定することができました。室内に置くと地上デジタルのNHKが入りにくかったのですが、窓の外に出せば大丈夫でした。

20インチのテレビは店頭で見るととても小さく見えましたが、置き場所を考えるとこれでよかった、と思いました。

たしかに、NHK地上デジタルのデータ放送で、字幕がついていない生番組はたくさんあります。

やっぱり字幕はついてないなあ、と思いながら見ていた討論番組で自民党の舛添要一さんが「舛添ですけど」と前置きして発言していました。この番組がラジオでも同時放送されていることを意識していたのでしょうか?

WIT研究会でも論文作成・発表アクセシビリティガイドラインの中で

  • 質問,コメント等,フロアから発言する人は,まず必ず自分の所属,名前をはっきりと述べてください.誰が話しているのか,というのは手話通訳にも,また視覚障害のある方にとっても重要な情報となります. 

というお願いをしていることを思い出しました。

コンテンツのユニバーサルデザイン

8月3日および4日に第37回福祉情報工学研究会が開催されました。

8月4日のお昼には専門委員会が開催され、私は幹事として参加しました。

8月4日の午後には情報処理学会福祉情報システムフォーラムによる特別企画:“いま,そこにある”コンテンツのユニバーサルデザインが開催されました。

80人くらいの参加者にお越しいただき、視覚障害や聴覚障害をお持ちの方も多く参加されました。

シネマ・アクセス・パートナーズ(CAP)の平塚さんは、映画の音声ガイドを作る作業の実情について詳しくお話をされました。

日本点字図書館の天野さんは、視覚障害者用DVDプライベートホームシアターサービスの概要についてお話をされました。あとでお聞きしたら、音声ガイドのMP3ファイルとDVDの映像を同期して再生をするソフトウェアを開発するために、Vector でオンラインソフトを開発している人にメールを書いてコンタクトを取り、プログラマーを見つけたのだそうです。

キュー・テックの川野さんは「ウェブ・シェイク」という仕組みでDVDコンテンツの字幕を第三者の立場から提供されています。しかしその背景にあるのは「きちんと字幕をアーカイブすればどんなメディアにでも再利用できる」という考え方とのことでした。

聴力障害者情報福祉センターの森本さんは、放送済みのテレビ番組に字幕をつけたビデオやDVDを制作し、全国の聴覚障害者に無料で貸し出しをする事業について説明されました。

映画のバリアフリー化について最近もこんなことがありました。

  • アメリカ映画「バベル」の日本ロケでは聾学校の生徒など多くの聴覚障害者がエキストラ参加したにもかかわらず、試写会で上映された日本版には日本語の会話に日本語字幕がついていなかった。署名運動の結果、映画配給会社が日本語部分に字幕をつけた。
  • 映画「武士の一分」は視覚障害を扱っているから、という理由でDVD化にあたって視覚障害者向けの字幕を付与した。

でも、当事者の方々が本当に見たいのは福祉や障害をテーマに扱った作品ではなく、普通の作品なのだそうです。

多くの人が、ラジオや新聞ではなく、テレビやDVDなど「音声と映像の複合メディア」から情報を得るようになってきました。そのことが、視覚障害や聴覚障害をお持ちの方にとって新たなバリアを生んでいると思われます。

静岡大学の秡川先生からは情報保障の考え方について新しい視点を提供していただきました。

  • 情報保障が必要になるのは「省略」するからである
  • 字幕と音声ガイドの制作は同時に行えば作業を効率化できる
  • 近年の高品質な音声合成技術は音声ガイドに使えるレベルに到達している
  • 一般の人が参加できるために「先送り」と「ネットワーク化」が必要

最後に毎日新聞の岩下さんから、総務省の研究会などに参加された立場を踏まえての御発言がありました。

  • インタビュー映像などでよく使われるボイスチェンジャーは、内容を聞き取りにくい(要約された字幕を読めればいい、という番組制作者の意図?)
  • クイズ番組で「正解はこちら!」「ワー!」という場面で情報を共有できない。ちょっと読み上げてくれるだけで一緒に楽しめるのに。。
  • ワンセグをみんなが使うようになり、聴覚障害者だけでなくみんなが字幕ユーザになりつつある。

音声対話講習会

7月31日から8月3日まで京都大学で「音声認識・音声対話技術講習会」があり、私は最終日で「ISTCソフトウェア紹介」というテーマの時間をいただき、ソフトウェアの実演をしました。

私がGalatea Projectで開発を担当しているGalatea Toolkit Linux版の紹介をしました。主に VoiceXML による対話シナリオ記述について御説明して、まだ正式対応ではありませんが Windows 環境で VoiceXML のシナリオを実行してデモを行いました。

実演で御紹介したソースコードをいくつかお見せします。

以下は PHP で動的にVoiceXMLを生成する例です。

<?php echo '<?xml version="1.0" encoding="utf-8"?>' ."\n" ?>
<?php mb_http_output('utf-8') ?>
<vxml version="2.0" xml:lang="ja">
<?php
if(isset($_REQUEST['region']) && $_REQUEST['region'] != '') {
$region = $_REQUEST['region'];
mb_convert_variables("UTF-8", mb_detect_encoding($region), $region);
?>
<form id="answer">
<block>
<log>地域:<?php echo $region ?>,今日:晴れ,明日:曇り</log>
<prompt>
天気予報です。
<?php echo $region ?>の、
今日の天気は晴れです。
明日は曇りです。
<break/>
</prompt>
<goto next="#ask"/>
</block>
</form>
<?php } ?>
<form id="ask">
<field name="region">
<prompt timeout="20s">
天気を聞きたい地域を、東京、横浜、京都から選んでください。
</prompt>
<grammar version="1.0" root="#region_rule">
<rule id="region_rule">
<one-of>
<item> <token sym="まいくてすと">マイクテスト</token> </item>
<item> <token sym="とうきょう" slot="region">東京</token> </item>
<item> <token sym="よこはま" slot="region">横浜</token> </item>
<item> <token sym="きょうと" slot="region">京都</token> </item>
</one-of>
</rule>
</grammar>
</field>
<block>
<submit next="<?php echo basename(__FILE__) ?>"/>
</block>
</form>
</vxml>

また、以下は PostgreSQL とも連携して、音声認識文法も動的に生成し、出力する情報もデータベースから取得して読み上げる例です。

<?php echo '<?xml version="1.0" encoding="utf-8"?>' ."\n" ?>
<?php mb_http_output('utf-8'); ?>
<vxml version="2.0" xml:lang="ja">
<?php
$db_user = "galatea";
$db_pass = "galatea";
$db_host = "localhost";
$db_name = "galatea_db";
$db = pg_connect("host=$db_host port=5432 dbname=$db_name user=$db_user password=$db_pass");
if (isset($_REQUEST['item']) && $_REQUEST['item'] != '') {
$item = $_REQUEST['item'];
mb_convert_variables("UTF-8", mb_detect_encoding($item), $item);
$rs = pg_query($db, "SELECT name,price FROM goods WHERE code = $item");
if ($row = pg_fetch_assoc($rs)) {
$name  = $row['name'];
$price = $row['price'];
}
?>
<form id="answer">
<block>
<log>name: <?php echo $name ?>,price: <?php echo $price ?></log>
<prompt>
<?php echo $name ?><?php echo $price ?>円です。
<break/>
</prompt>
<goto next="#ask"/>
</block>
</form>
<?php } ?>
<form id="ask">
<field name="item">
<prompt timeout="20s"> 値段を聞きたい果物は何ですか? </prompt>
<grammar version="1.0" root="#item_rule">
<rule id="item_rule">
<one-of>
<item> <token sym="まいくてすと">マイクテスト</token> </item>
<?php
$rs = pg_query($db, "SELECT code,name,yomi FROM goods");
while ($row = pg_fetch_assoc($rs)) {
$code = $row['code'];
$name = $row['name'];
$yomi = $row['yomi'];
echo "      <item> <token sym=\"$yomi\" slot=\"item\" value=\"$code\">$name</token> </item>\n";
}
?>
</one-of>
</rule>
</grammar>
</field>
<block>
<submit next="<?php echo basename(__FILE__) ?>"/>
</block>
</form>
</vxml>

最後に、音声認識エンジンに対してユーザが発話している途中にどのようなフィードバックをユーザに見せるべきか、ということを考えていただくために、試作中の「音声インクリメンタルサーチ」のデモをお見せしました。

音声対話システムの開発において VoiceXML が常に最適な技術とは限りません。

ISTC-SIG-MMIでは、Galatea Toolkit 開発の経験を生かしつつ、W3Cでの標準化の動向も踏まえて、マルチモーダル対話システムのアーキテクチャーと記述言語の検討を進めています。

Galatea Dialog Manager もそれらの成果を取り込みながら、さらに開発を続けていきたいと思っています。