カテゴリー: general

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

    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 もそれらの成果を取り込みながら、さらに開発を続けていきたいと思っています。

  • ワザオギ落語会

    第3回ワザオギ落語会に行ってきました。

    場所は国立演芸場。チケットは前売りで完売とのことで、観客にまで

    大入り袋が出ました。最初「なんだろう?」と思いました。

    DVD販売が予告されている落語会ということで、

    第1回のときは「DVDをご覧の皆様」と舞台の上で話しかける方が

    いらっしゃったりしましたが、今回はそういう演出ではなく、

    古典落語で、できるだけ動きや仕草が楽しめるものを、

    出演者はみんなお選びになったのだろう、という、そういう演目ばかりでした。

    そういえば新作落語の大御所ばかりだったにも関わらず、

    みなさん古典落語を個性たっぷりに演じておられました。

    3回目にして、今度こそDVDを買わなくてはと思いました。。

    くわしくはこちらを:

    http://www.wazaogi.jp/