HTMLと異なる順番でメディアオーバーレイズが付与されたEPUBの無限ループ問題と対応方法
2022年10月21日
日本デイジーコンソーシアム
技術委員会
EPUBはメディアオーバーレイズを用いて、本文に対応する録音音声を本文と同期した形で保持できます。メディアオーバーレイズによる録音音声は、図書全体をカバーする形で付与する方法でも、図書の一部のみをメディアオーバーレイズとして付与する方法でもどちらでも良いとされています。メディアオーバーレイズが付与されていない箇所はTTSで音声合成出力されることが想定されています。
漢文や表の縦読み(縦方向のセルを順に読み上げる)のように、本文の読み上げ順序がHTMLの出現順と異なる場合があります。EPUB 3.3では、HTMLの出現順と異なる順番で、メディアオーバーレイズを付与するケースを明確に許容する方向で仕様の策定が進んでいます。
次の2つの条件が重なると、読み上げ時に無限ループが発生することがあります。
- HTMLの出現順と異なる順番でメディアオーバーレイズが付与された場合
- 図書の一部のみがメディアオーバーレイズで付与される場合
reverse_alice_sample.epub(不思議の国のアリス英語版)はこのような無限ループが生じる可能性があるEPUBデータサンプルです。この本文のHTMLは以下のように文が並んでいます。
Sentence A
Sentence B
Sentence C
Sentence D
Sentence A, Sentence B, Sentence Dはメデイアオーバーレイズが付与されており、Sentence Cはメディアオーバーレイズが付与されておらず、HTMLのテキストのみが記述されています。メディアオーバーレイズはHTMLの順番とは異なるA, D, Bの順に読み上げるように付与されています。
リーディングシステムはA, D, Bの順に録音音声を再生しますが、メディアオーバーレイズはBで終わっているため、次の文であるSentence Cは音声合成で再生します。リーディングシステムが次にSentence Dを録音音声で読み上げてしまうと、再びSentence Bに戻り、B, C, Dの再生が無限ループしてしまいます。
このような場面でも無限ループが発生しないような対応がリーディングシステム側で必要です。対応策として、一度再生した箇所はスキップするような再生順(ルート)となるようにリーディングシステムの内部で計算を行い、この再生順にしたがって再生やナビゲーションを行うと無限ループの問題を回避できます。
EPUBリーディングシステムであるボイス オブ デイジー Version 5.6以降、しゃべる教科書 Version 2.0以降はこの方法にて無限ループの問題を回避しています。
音声合成による本文の読み上げと、メディアオーバーレイズの両方をサポートするリーディングシステムを開発する際には、上記の問題を回避するための対応をご検討ください。