2011.9.18-

Web版 DAISYプレイヤー &
DAISY風 テキストリーダー
(ここに記した内容はすべて試行中のものです)

弘前大学 小山智史

 マルチメディアDAISY図書・テキストDAISY図書・DAISY録音図書をWebブラウザで利用できるようにしてみました。また、テキストファイルをDAISY風に表示する(読み上げる)リーダーを作ってみました。いずれも、Webブラウザを「DAISY風プレイヤー」として利用しようという試みです。試行中のものではありますが、お試しいただき、ご意見をお寄せいただければ幸いです。

要点
1. Web版 DAISYプレイヤー (サンプル)
 DAISY図書(マルチメディアまたは音声)をWebで公開する場合は、index.htm, ncc.wsfの2つのファイルをDAISY図書と同じフォルダにコピーし、ncc.wsfを一度ダブルクリックした後、フォルダごとWebサーバに転送します。以後、Webブラウザでindex.htmを表示するとDAISY図書が表示されます。

2. DAISY風 テキストリーダー (サンプル)
 音声合成エンジン[4][5]は予め利用できるようにしておきます。
 パソコン上のテキストファイル(複数あってもOK)をDAISY風に表示する場合は、index.htm, ncc.wsfの2つのファイルをテキストファイルと同じフォルダにコピーし、ncc.wsfをダブルクリックします。以後、Webブラウザでindex.htmを表示するとテキストファイルがDAISY風に表示されます。フォルダにテキストファイルを追加したり、読み修正辞書yomi.csvを作成したら、ncc.wsfをダブルクリックします。
 パソコン上にあるテキストDAISY図書についても、同様の方法で合成音声で読み上げできます。

※ 雛形を用意しました(template.zip)
※ 講習会用資料「DAISY風コンテンツの作り方」を作りました(practice.pdf)...実はこの資料もpractice.txtをDAISY風に表示してpdfにしたものです
表1. 主な機能や操作の比較
(動作の確認は WindowsXP Home/Pro(SP3), Windows7 Home Prem(SP1) で行いました)
ブラウザ IE6/IE8/IE9 Firefox10 専用ソフト(AMIS 3.1)
対象となる図書 テキストファイル
青空文庫
テキスト
DAISY図書
マルチメディア
DAISY図書
DAISY
録音図書
マルチメディア
DAISY図書
テキスト
DAISY図書
マルチメディア
DAISY図書
音声 合成音声
(MSSP Haruka)
録音音声 合成音声
(SAPI/MSSP)
録音音声
ローカルでの利用 (Windows7)
(WindowsXP)*1
サーバでの利用 × ×
ハイライト表示と
読み上げの同期
少しずつずれる
再生速度 変更可 固定 変更可
開始と停止
開始/停止ボタン
停止:ESCキー

開始/停止ボタン
停止:ESCキー
(開始は先頭から)
休止と再開
休止/再開ボタン
休止:CTRLキー
再開:スペースキー
×
見出しの移動
見出しをクリック
SHIFT+↑↓キー
背景の左/右クリック
×
見出しをクリック
フレーズの移動
フレーズをクリック
↑↓キー
×
前後ボタン
全画面表示 キオスクモード(F11) 簡易表示
拡大・縮小 IE6は文字のみ
IE8は文字・画像(CTRL + + / CTRL + −)
(文字のみも可)
文字のみ
縦書き ×
ルビ
(アドオンによる)
設定の保持
音声ガイド ×
*1 WindowsXP・IE8, Windows7・IE9でDAISY風テキストリーダーを利用していると、「アクセスが拒否されました」と出てテキストファイルが表示できないことがあります。まったく同じ内容のテキストファイルでも表示できる場合と表示できない場合があります。セキュリティの関係のようですが、正規の解決策はわかりません。「表示できるテキストファイルのコピーを作ると、これは問題なく表示できるので、その内容を新しいものに入れ替える」というのが苦肉の策です。
また、MultipleIEを使ってIE6で利用すれば、うまく動作するようです。
WindowsXPでIE6を利用していると「オートメーションサーバーはオブジェクトを作成できません」というエラーが出ることがありました。この場合も、ファイルの中身が一緒でファイル名を変えるとこのエラーが出たり出なかったりしました。

1. Web版 DAISYプレイヤー

 Webサーバに置いたDAISY図書を共同利用する仕組みです。既存のDAISYコンテンツをこのように利用するには、著作権の問題に注意する必要があります。ここでは、むしろ新しいコンテンツの制作が促進されることを狙いとしています。例えば

など、情報補償、つまり文字の読みが困難な方にもわかりやすく提供されるWebコンテンツが増えることにつながると思うのです。当然、利用者の拡大や協力者の拡大にもつながります

 マルチメディアDAISY図書は、Webサーバに置いて、共同利用することができます。

 DAISY録音図書も、Webサーバに置いて、共同利用することができます。視覚障害者が扱いやすくするにはどうしたらよいかやニーズがあるかどうかなど、今後更に検討したいと考えています。

 テキストDAISY図書は、マルチメディアDAISY図書に比べ制作が容易です。「合成音声で満足できる場合」であれば、テキストDAISY図書を合成音声で利用することができます。この場合、DAISY図書はパソコン上に置いて利用します。

サンプル1(神山博先生に作成していただきました)
(1)マルチメディアDAISY図書(録音音声)
(2)マルチメディアDAISY図書(合成音声を録音したもの)...神山先生のページで公開中
(3)テキストDAISY図書(合成音声読み上げで対応)...オンラインでは音声は出ません
サンプル2(日本障害者リハビリテーション協会の許可を得て公開します)
ごん狐(マルチメディアDAISY図書)
IE8の表示画面 Firefox10の表示画面
InternetExplorer8 Firefox10

 オンラインまたはローカルで録音音声を利用できます。ただし、再生速度は固定で、ハイライト表示と再生音声の同期は少しずつずれてしまいます。非力なパソコンで画像を含む文書を表示するような場合は「同期のずれ」が気になりますが、思ったほどではありません。

サンプル3(米沢市社会福祉課・米沢ICT協働会)
米沢市障がい(児)者の福祉ガイド(マルチメディアDAISY図書)...Day's Eye Styleのページで公開中
サンプル4(志摩市社会福祉協議会の許可を得て公開します)
広報しま2011年11月号(DAISY録音図書)
サンプル5(柳井市社会福祉課の許可を得て公開します)
広報やない2011年10月27日号(DAISY録音図書)
サンプル6(NHKの許可を得て公開します)
NHK番組表(DAISY録音図書)

(準備)

  1. index.htm, ncc.wsf をいずれも右クリックで保存し、DAISYコンテンツと同じフォルダに入れます。後に示す合成音声の読み修正ファイルyomi.csvを作成した場合は、それも同じフォルダに入れておきます。
    ※ ncc.wsfを保存しようとするとncc.htmというファイル名が表示されるので、「ファイル名」を「ncc.wsf」にし、「ファイルの種類」を「すべてのファイル」にして保存してください。
  2. ncc.wsf をダブルクリックするとコンテンツに応じて ncc.js というファイルが作られます。この操作で次のことが行われます。
※ Linux等Windows以外の場合は、ncc.awk(右クリックで保存)を用意し、「ls *.txt|gawk -f ncc.awk」の操作でncc.jsを作ります(未確認)。

(利用)

  1. 利用時に必要なものは、DAISYコンテンツと同じフォルダにある index.htm, ncc.js の2つのファイルです。
  2. Webブラウザでindex.htmを表示すると、「ncc.js」を参照し、左に章選択のメニュー、右にコンテンツが表示されます。
  3. 一群のファイル(DAISYコンテンツとindex.htm, ncc.js)をWebサーバに置けば、サーバで利用できます。
(a) マルチメディアDAISY図書(b) テキストDAISY図書(c) DAISY録音図書
図1. Web版DAISYプレーヤーが利用するファイル

2. DAISY風 テキストリーダー

 パソコン上にあるテキストファイルや、1万冊に及ぶ青空文庫[2]の図書を、合成音声で「DAISY風に」読むことができます。

 テキストはコンテンツフレームに表示され、ハイライト表示しながら合成音声で読み上げます。

 同じフォルダに複数の図書(テキストファイル)があれば、画面上で選択できます。

 読み上げは、メニュー画面で「なし」「合成読上」「合成頁読」「合成通読」を選択します。「合成頁読」は指定されたページを読み上げて停止し、「合成通読」は全編を通して読み上げます。「合成読上」はマウスでポイントしたフレーズをハイライト表示して読み上げます。

 見出しの抽出と本文の分割、フレーズの抽出を自動で行っています。フレーズは、「、。」「,.」「,.(英文)」を区切り文字として、ハイライト表示および音読の区切りとしています。

 IEでは「ルビ」を表示でき、「縦書き」「横書き」を選択できます。FirefoxではHTML Ruby[7]というアドオンで「ルビ」を表示できます。

 レイアウトの乱れを改善したい場合は、テキストファイルを修正します。読み誤りを修正したい場合は、読み修正ファイル(yomi.csv)を作ります。

 テキスト中では表2のルールを利用して、表示の工夫ができます。青空文庫のルールの一部とXHTML Converter[6]のルールの一部を解釈できるようになっています。独自の拡張として、右寄せ、センタリング、表、画像・動画の表示、リンク、追加表示、差替表示があります。

 テキストエディタで「一定のルール」に従って作れば良いので、「新たに対象児のためのDAISY風教材を作る」というようなことがどんどん行われてほしいと思っています。

表2. テキスト中で利用できるルール
青空文庫
  • 1行目はタイトルとして表示する(ただし空行や右寄せと解釈される場合は次の行)。
  • 冒頭に記載されている「----...」に挟まれている「注記」は表示しない。
  • 末尾に記載されている「底本:...」以降は表示しない。
  • [#...見出し]を見出しとする。
  • [#...]の注記は表示しない。
  • ルビ対象文字列《ルビ文字列》でルビを表示する。
  • XHTML Converter
  • タイトル行頭の「=」は表示しない。
  • 行頭の「*〜******」または「■□◆◇●○」はレベル1〜6の見出しとする。
  • 「%ファイル名%代替文字列%」で画像(jpg, gif, png)を表示する。
  • 「^URL^文字列^」で文字列にリンクを設定する。
  • 「‘ルビ対象文字列‘ルビ文字列‘」でルビを表示する。
  • 独自のルール
  • 見出しの自動判別...「一」「1....」「1 ...」などの行
  • 右寄せの自動判別
  • 「右寄せ: ...」の行は右寄せ
  • 「中央: ...」の行はセンタリング
  • 「画像:ファイル名」の行は、画像ファイル(jpg, gif, png)を表示。横書きの場合は幅、縦書きの場合は高さが、ウィンドウの幅や高さよりも大きい場合は範囲内に収まるように自動調整される。
  • 「動画: ファイル名」の行は、動画ファイル(mp4)を表示。手動操作で再生開始。
  • ┌─...─┐から└─...─┘までを表として表示する。│をカラム(横)の仕切り線、├...┼...┤を縦の仕切り線とする。
  • 「リンク:URL 文字列」からなる行は、「リンク:文字列」と表示され、「文字列」をクリックするとリンク先のページが表示される。その他のURLは自動リンクされる。
  • 「文字列1▼文字列2▼文字列3...」からなる行は、はじめは「文字列1」だけを表示(読み上げ)する。その後その箇所をクリックすると「文字列1」に続いて「文字列2」が現れ、再びクリックすると更に「文字列3」が現れ、...となる。
  • 「文字列1▽文字列2▽文字列3...」からなる行は、はじめは「文字列1」を表示(読み上げ)する。その後その箇所をクリックすると「文字列1」が「文字列2」に置き換わり、再びクリックすると「文字列3」に置き換わり、...となる。
  • 文中の「☆表示文字☆音声文字☆」は「表示文字」を「音声文字」で読み上げる。この方法で読み誤りの修正を行うこともできる。ただし、フレーズ内でのみ機能し、表示文字や音声文字の中に「、」「。」を含めることはできない。このことに注意すれば、「図を表示して合成音声で説明する」ようなコンテンツも制作できる。
  •  以下はサンプルです。残念ながら、オンラインでは表示のみで音声は出ません。合成音声を利用するための具体的な方法については付録Aにまとめました。

    サンプル7
    教科書の入力例(ino.txt)...ルビを含んでいます。「Haruka」の声で読み上げます。
    教科書を入力したテキストファイル 教科書の表示例
    教科書を入力したテキストファイル 教科書の表示例
    サンプル8
    英文テキストの例(daisy.txt)...声は「Helen」にしています。
    英文のテキストファイル 英文テキストの表示例
    英文のテキストファイル 英文テキストの表示例
    サンプル9
    テキストファイル(画像と表を含む例)...画像サイズは自動調整されます。(sample.txt)
    画像と表を含むテキストファイル 画像と表の表示例
    画像と表を含むテキストファイル 画像と表の表示例
    サンプル10
    リンクおよび動画の表示例...動画は、現在mp4ファイルのみ表示できます。また、自動再生ではなく手動再生になっています。また、このサンプルはリンクの例にもなっています。
    動画を含むテキストファイル 動画の表示例
    動画を含むテキストファイル 動画の表示例
    サンプル11
    青空文庫テキスト(ごん狐)
    青空文庫テキストの例 青空文庫の表示例
    青空文庫テキストの例 青空文庫の表示例
    サンプル12
    追加表示を使ったクイズ(歴史クイズ)...下図は三択クイズの例で、下図右は「行基」をクリック(回答)したところです。この箇所がひとつのフレーズ(ハイライト単位)として扱われますから、長文には向きません。
    三択クイズのテキストファイル 三択クイズの表示例
    三択クイズのテキストファイル 三択クイズの表示例(回答後)
    サンプル13
    追加表示を使ったクイズ(人間のからだ)...下図中央は表示画面を読み終えて停止した状態で、ここで「ヒント」をクリックすると下図右のようにヒントが表示されます。「こたえ」をクリックすると、こたえが表示されます。他にもさまざまな応用ができると思います。
    クイズのテキストファイル クイズの表示例 ヒントの表示
    クイズのテキストファイル クイズの表示例 「ヒント」のクリックで追加表示
    サンプル14
    新聞記事...あらかじめ各々括弧中のプログラムで本文を抽出しておきます。例えばasahi.batを実行すると、朝日新聞のビジネス・文化・国際・生活・社会・政治・科学・スポーツの当日のニュースを抽出し、それぞれbusiness.txt, culture.txt, ...のファイルに保存します。なお、プログラム中でwget, gawk, nkf, cat, rm などを利用しているので、別途これらを利用できるようにしておく必要があります。
    朝日新聞 読売新聞 毎日新聞
    朝日新聞(asahi.awk, asahi.bat) 読売新聞(yomiuri.awk, yomiuri.bat) 毎日新聞(mainichi.awk, mainichi.bat)
    東奥日報 陸奥新報
    東奥日報(too.awk, too.bat) 陸奥新報(mutsu.awk, mutsu.bat)

    (準備)

    1. index.htm, ncc.wsf をいずれも右クリックで保存し、テキストファイルと同じフォルダに入れます。複数のテキストファイルを置いてその中から選択できます。
       合成音声の読み誤りを修正したい場合は、以下のような「対象文字列,置換文字列」の並びからなる修正ファイルyomi.csvを作成し、同じフォルダに入れておきます。
      ごん狐,ごんぎつね 南吉,なんきち 小狐,こぎつね 一ぱい,いっぱい 一しょ,いっしょ
      ※ 読み方は音声合成エンジンによって異なるため、読みの補正も音声合成エンジン毎に考慮する必要があります。

    2. ncc.wsf をダブルクリックするとコンテンツに応じて ncc.js というファイルが作られます。この操作で次のことが行われます。 ※ Linux等Windows以外の場合は、ncc.awk(右クリックで保存)を用意し、「ls *.txt|gawk -f ncc.awk」の操作でncc.jsを作ります(未確認)。

    (利用)

    1. 利用時に必要なものは、テキストファイルと同じフォルダにある index.htm, ncc.js の2つのファイルです。
    2. Webブラウザでindex.htmを表示すると、「ncc.js」を参照し、左に章選択のメニュー、右にコンテンツが表示されます。
    3. 一群のファイル(テキストファイルとindex.htm, ncc.js)をWebサーバに置けば、サーバで利用できます。

    図2. DAISY風テキストリーダーが利用するファイル

    3. Webプレゼンテーション

     本来の目的から少々逸脱しますが、Webプレゼンテーションに利用できるよう少し工夫してみました。合成音声エンジンを組み込む必要はありません。

    (準備)

    1. index.htm, ncc.wsf をいずれも右クリックで保存し、プレゼン用テキストファイルと同じフォルダに入れます。複数のプレゼン用ファイルを置いても構いません。

    2. ncc.wsf をダブルクリックすると、同じフォルダにあるテキストファイル(*.txt)を探し、そのリストを ncc.js として作成します。

    3. 音声読み上げの必要がないので、サーバに置いて利用することもできます。

    (利用)

    1. 利用時に必要なものは、プレゼン用に作成したテキストファイルと index.htm, ncc.js の2つのファイルです。
    2. Webブラウザでindex.htmを表示すると、「ncc.js」を参照し、左に章選択のメニュー、右にコンテンツが表示されます。
    3. F11キーを押し、全画面モード(キオスクモード)にします。
    4. 好みの背景色を指定し、CTRL + + / CTRL + − で文字サイズを調整します。
    5. ナビゲーションフレームの幅を最小にします(下図)。
    6. コンテンツフレームを左クリックすると次ページに進み、右クリックすると前ページに戻ります。
    7. 置換表示の機能を使うと、表示中の図をクリック操作で置き換えることができます。
    8. レジメ印刷のために、ナビゲーションフレームのメニュー末尾に[全表示]を設けました。
    サンプル15
    プレゼン用テキスト プレゼン1 プレゼン2
    プレゼン用テキスト プレゼン表示1 プレゼン表示2

    (参考資料)

    [1] DAISY研究センター, http://www.dinf.ne.jp/doc/daisy/
    [2] 青空文庫, http://www.aozora.gr.jp/
    [3] 電脳スピーチblog, http://denspe.blog84.fc2.com/
    [4] Microsoft Speech Platform - Runtime(Version 11), http://www.microsoft.com/download/en/details.aspx?id=27225
    [5] Microsoft Speech Platform - Runtime Languages(Version 11), http://www.microsoft.com/download/en/details.aspx?id=27224
    [6] XHTML Converter, http://www.dinf.ne.jp/doc/daisy/software/xhtmlconv.html
    [7] HTML Ruby(Firefox用), https://addons.mozilla.org/ja/firefox/addon/html-ruby/
    [8] テキストファイルをDAISY風に表示するリーダーの開発, 電子情報通信学会福祉情報工学研究会資料, WIT2011-89, pp.107-112, 2012.


    付録A. 合成音声の準備

     最近の合成音声は品質が大変良いのに驚きます。「ローカルで利用する場合」に限られますが、マイクロソフトから提供されているMSSPとHarukaの合成音声を用いて、DAISYコンテンツを読み上げることができました。現在、マルチメディアDAISYコンテンツには録音音声が用いられているわけですが、これらが合成音声でどのくらい代替可能なのか、またその時にどのようなことが問題となるのか、試行錯誤中です。

    A.1 Haruka で読む
     合成音声エンジン Haruka の組み込みは、「電脳スピーチblog」[3]の以下の記事を参考にさせていただきました。感謝いたします。

    記事に記載されているように、マイクロソフトから提供されているMSSPとHaruka, Helen, ZiraPro の音声エンジンは[4][5]から入手できます。以下に、組み込み方法の要点をまとめておきます。
    1. [4]から、Windows7(64ビット)で64ビットIEを使っている場合は x64_SpeechPlatformRuntime\SpeechPlatformRuntime.msi、それ以外の場合は x86_SpeechPlatformRuntime\SpeechPlatformRuntime.msi をダウンロードしてインストールする。
    2. [5]から、MSSpeech_TTS_ja-JP_Haruka.msi をダウンロードしてインストールする。

    A.2 Misaki で読む
     「しゃべるんです(ナレッジクリエーション 22890円)」も試してみました。VoiceTextの Misaki, Miyu, Show の音声が利用できるようになります(ここの「読み上げ」ボタンでサンプル音声を聴くことができます)

    A.3 英文を読む
     A.1と同様の方法で、[5]から、MSSpeech_TTS_en-US_Helen.msi や MSSpeech_TTS_en-US_ZiraPro.msi をダウンロードしてインストールすると、Helen と ZiraPro の音声が利用できるようになります。かなり高い品質で英文を読み上げてくれます。「しゃべるんです」では Kate の音声を利用できます。

    A.4 合成音声の確認
     手元のパソコンで Haruka, Misaki その他の合成音声が正しく動作しているかどうかは、「sapi.htm(右クリックでダウンロード)」で確認できます。


    2011.11.12 Web版DAISYプレーヤー&DAISY風テキストリーダー, 第105回教育・福祉とエレクトロニクス懇話会
    2012.4.28 実習: Web版DAISYプレーヤー&DAISY風テキストリーダー, 第106回教育・福祉とエレクトロニクス懇話会
    [プレゼン] [ゴン] [ドリル] [朝日] [読売] [毎日] [東奥] [陸奥] [msharuka32.reg] [msharuka64.reg]
    koyama@cc.hirosaki-u.ac.jp