写真 青い空と雲と建物と木々の緑

nishimotzの日記

  • インターネットと音声合成

    音声技術とバリアフリーに関する特集の一記事として電子情報通信学会誌に千葉大学の西田先生と共同で執筆した

    • 西本卓也, 西田昌史: “インターネットと音声合成,” 電子情報通信学会誌, Vol.91, No.12, pp.1030-1035, Dec 2008.

    が発行されました。執筆したのは6月末だったのですが、ページ数がオーバーして大幅にカットせざるを得なかった部分をここでご披露します。。

    インターネットにおける音声合成技術

    インターネットにおける音声合成技術はバリアフリーに限らずさまざまな用途で注目されている.

    例えば,近年のCGM(Consumer Generated Media)ブームと共に,インターネットの動画投稿サイトで歌声音声合成を使った作品が広く知られるようになった.

    また,入力された歌詞から自動作曲して合成音声で歌うシステムも公開されている.

    また,文字で情報を読むよりも,朗読された音声で情報を得る方がわかりやすく誤解しにくい,という動機から,最近,ネットリサーチ(インターネットを利用した市場調査)において音声合成を用いたサービスが登場している.質問項目を音声合成で提示することにより,回答者による設問の読み間違いや,設問をよく読まずに回答されることを防ぎ,精度の高い調査が実施できるという.

    このようにインターネットにおいて存在感を増しつつあるテキスト合成音声の技術であるが,視覚障害者は,インターネットが普及する前からの,この技術のアーリーアダプター(先見性のある利用者)だった.

    ウェブサイトが提供する音声合成機能

    特定のウェブサイトに限定すれば,ウェブサイトが音声合成機能を提供することも有効である.

    例えば

    などのインターネット閲覧支援ツールは,ウェブサイトが提供する音声合成エンジンをユーザのPCにインストールさせ,ユーザのPCで音声合成を行わせるものである.ユーザに強いる負担は軽減されるが,これらのサービスでは対象となるOSやブラウザが制限されてしまう.

    島根県のウェブサイトで使われているCMS (Content Management System)には,テキスト情報として提供されるコンテンツを音声化し,ストリーミング音声として配信する機能がある.

    (株)ネットワーク応用通信研究所が開発したこの「島根県CMS」は,Ruby on Rails で実装され,フリーの音声合成エンジン GalateaTalk が使用されている.最近ソースコードが公開されたことでも話題を呼んでいる.

    また,JavaScriptを用いて任意のウェブページに音声合成機能を埋め込む「Web音声配信システム(VDS)」が(株)ナレッジクリエーションによって公開されている.VDSのサーバで音声合成が行われ,ユーザ側でもウェブサイト側でも音声合成エンジンを必要としない.いわゆる Web 2.0 的な技術として今後の展開が期待される.

    会誌に掲載された内容

    ここで紹介しなかった内容のうち、視覚障害者のPC利用の実情、音声によるインターネット利用、視覚障害者用タイピング練習ソフト、早口音声合成の利用、学習効果と心的負荷、などのトピックは会誌記事に無事掲載されています。また、Webページ閲覧、仮名漢字変換に関する西田先生の記事もあります。最後に NVDA 日本語版プロジェクトの活動にも触れました。

  • オープンソースと動機付け

    特別企画「オープンソースソフトウェアとWebアクセシビリティ」は、終了時間が大幅に遅くなって皆様にご迷惑をお掛けしましたが、私はとても楽しく進行を務めました。そして、改めていろいろ考えさせられました。

    いくつか感じたことを挙げると:

    • Free の「自由」と「無料」はどちらも重要
    • オープンであるだけでは不十分。適切に設計・部品化されていること、汎用性があることが必要。
    • 日本のコミュニティが「日本語化」だけにとどまらず国際的に貢献することが重要。

    参加者からの印象的な発言を挙げると:

    • 企業でOSS・サポート体制のないソフトウェアを使うことへの抵抗は依然としてある。
    • オープンソースコミュニティが高齢化している。大学生への教育が重要。
    • ユーザが目的にあったソフトを簡単に選べるための情報提供が重要。
    • オープンソースプロジェクトに参加できるためには自由な身分や時間が必要。貢献への動機付けが必要。作ることを面白い・かっこよいと思えるか?
    • API資料などを英語で調べることの壁がある。
    • オープンソース参加によって個人情報を不用意に公開してしまう危険はないのか?
    • 学生の立場から言えば、セットアップが難しいソフトは敬遠したくなる。ちゃんと教えてもらえるなら、関心を持てる。
    • 「emacs にあこがれるか否か」が「オープンソース文化への親しみ」の境界線では?
    • Linux カーネルや Eclipse のような「重要なプロジェクト」は、慎重にリリースされ履歴がきちんと管理されるべき。そうでない自由なプロジェクトもたくさん存在してよい。
    • 広く使ってもらうためには大きなコミュニティが必要。橋渡しになる解説者が必要。
    • 代替手段を手に入れにくいソフトウェアには成功のチャンスがある。NVDA はその一例になりうる。

    音声合成については GalateaTalk の Windows 版を(NVDAの開発プラットフォームである)Python から制御するデモをお見せしました。Galatea for Linux による音声対話システムのデモをする時間はなくなったので、これはまたの機会に。。
    Eclipse Accessibility Tools Framework の紹介は個人的に非常に興味深かったです。

    サイトは英語の情報ばかりですが、日本アイ・ビー・エムの研究成果がベースで、日本語の情報を精力的に整備中であり、日本からの利用・参加を呼びかけていきたい、とのことです。
    また、NVDA日本語版は、この企画に合わせて新しいバージョンがリリースされました。

    国際的に協調しつつ行われているWebアクセシビリティ標準化ですが、日本ではスクリーンリーダなどの支援技術の進歩が遅れています。この問題に積極的に関心をお持ちいただければ幸いです。
    そして、ソフトウェア開発でアテンションを集めることを「かっこよい」と思える世の中であって欲しい、と個人的には思っています。

  • YAML+ERB

    前回の続きで、ERB に埋め込む情報を YAML で記述する実験。

    # config.yml
    books:
    -
    title: あいうえお
    author: かきくけこ
    price: 400
    -
    title: さしすせそ
    author: たちつてと
    price: 800
    
    #!/usr/bin/ruby -Ku
    require 'erb'
    require 'yaml'
    erb_doc = <<EOS
    hello world 1
    <% config['books'].each_with_index do |i,n| -%>
    [<%= n %>] title:<%= i['title'] %> / author:<%= i['author'] %>
    <% end -%>
    hello world 2
    EOS
    class MyTemplate
    def initialize
    @config = YAML.load(File.new('config.yml'))
    end
    def config
    @config
    end
    def result(script)
    ERB.new(script, nil, '-').result(binding)
    end
    end
    puts MyTemplate.new.result(erb_doc)
    # hello world 1
    # [0] title:あいうえお / author:かきくけこ
    # [1] title:さしすせそ / author:たちつてと
    # hello world 2