5,000話超の連載も止まらない — バックグラウンド取込と章音声キャッシュの仕組み
Yomiteは5,000章クラスの長編小説もバックグラウンドで取込み、アプリを閉じても中断しても再開できます。さらに合成済みの音声をAACで自動キャッシュし、次回の再生を瞬時に。デフォルト1GB上限のLRU管理まで、長編・連載読者向けの仕組みを解説します。
100話、1,000話、あるいは5,000話を超える連載小説を「とりあえず全部取り込んでおきたい」と思ったとき、真っ先に気になるのが「途中でアプリを閉じても大丈夫か」「読み終えた章をまた再生するたびに毎回待たされるのか」という2点だ。Yomiteはこの両方に対して、それぞれ専用の仕組みを持っている。
大量章のバックグラウンド取込
Yomiteは、5,000章クラスの長編でもバックグラウンドで取込みを進められる設計になっている。取込み中にアプリを閉じても処理は止まらず、途中で中断された場合も再開が可能だ。
これは、数百〜数千話規模の連載作品――未翻訳のWeb小説や、長期連載中のライトノベルシリーズなど――を一気に取り込みたいときに効いてくる。1章ずつ手動で開いて待つ必要がなく、取込みを始めたらアプリを閉じて他の作業をしていても、裏側で進行が続く。
長編を「今週末に全部取り込んで、来週から通勤中に聴き始めよう」という使い方をする場合、この非同期の取込みが体感の待ち時間を大きく減らす。
章音声の自動キャッシュ — 次回再生は瞬時に
もう一つの仕組みが、章単位の音声キャッシュだ。Yomiteは、一度合成した章の音声をAAC形式で自動的にキャッシュする。同じ章をもう一度再生するときは、その場で合成し直すのではなく、キャッシュされた音声がそのまま再生される。これは、聴き終えた章に戻って聴き直したいときや、寝落ちして少し前の章から再開したいときに、待ち時間なしで反応が返ってくることを意味する。
このキャッシュ機構は、公開時点のロードマップに「章単位の音声キャッシュ ― オフライン環境での体験を更に滑らかに」として掲げられていた機能で、その後の機能一覧に「章音声の自動キャッシュ」として加わった。
デフォルト1GB上限とLRU管理
キャッシュは無制限に溜め続けるわけではない。デフォルトでは1GBの上限が設定されており、**LRU(Least Recently Used/もっとも使われていないものから削除)**方式で管理される。上限に近づくと、長らく再生されていない章のキャッシュから自動的に整理される仕組みだ。
つまり利用者が手動でキャッシュを掃除する必要はない。よく聴き返す章、直近で聴いた章は自動的にキャッシュに残りやすく、何十話も前に読み終えて以降触れていない章は自然と入れ替わっていく。連載を追いかけながら最新話を聴き、たまに序盤に戻って聴き直す――という読み方をしても、キャッシュの管理を意識する必要がない。
ボイス本体のストレージとは別枠
ここで挙げているキャッシュの1GB上限は、ボイスモデルのダウンロード容量(言語処理モデル667MB+ボイス1つあたり127〜270MB)とは別の話だ。ボイス本体は端末に一度ダウンロードすれば持ち続けるファイルで、章音声キャッシュはその上で一時的に生成・破棄される再生用の音声データという位置づけになる。長編小説を大量に取込みつつプレミアムでいくつものボイスを試す場合、両方の容量を合わせて意識しておくと、ストレージ不足による再生の詰まりを避けやすい。
こんな読み方に向いている
- 完結済みの長編・大河シリーズを一気に取り込み、通勤中に少しずつ消化していきたい人
- 連載中のWeb小説を最新話まで追いかけつつ、たまに序盤の章に戻って聴き直したい人
- 取込みの完了を待たずに他の作業へ移りたい、隙間時間の少ない人
まとめ
Yomiteの「バックグラウンド取込」と「章音声の自動キャッシュ」は、どちらも長編・連載を日常的に聴く読者のために作られた仕組みだ。取込みはアプリを閉じても止まらず、中断しても再開できる。聴き終えた章への再生も、キャッシュのおかげで待たされない。そしてキャッシュ自体はLRUによって自動的に整理されるため、手動でのメンテナンスは不要になっている。
音声合成そのものは、これまでの記事で触れてきた通りすべて端末内で完結する。取込みやキャッシュの処理も例外ではなく、外部サーバーへ本文や音声データが送信されることはない。
関連記事:ボイスは何MB? — ボイスモデルとストレージ管理ガイド · 良質な未翻訳Web小説の探し方 · なぜYomiteの音声合成はすべて端末内で完結するのか
ご意見・ご要望は [email protected] まで。
— Yomite Team