計画: Web 紙芝居「桃太郎」の冒頭

📅 作成: 2026-10-04 / 更新: 2026-10-12
⌂

目的

「桃太郎」の冒頭(桃から生まれて名付けられるまで)を、ブラウザで動く紙芝居にする。絵・字幕・効果音・読み上げ音声をそろえる。範囲は 計画: 桃太郎を最後までで全編に広げ、作品の名前も「桃太郎(冒頭)」から「桃太郎」に改めた。

音はすべてブラウザの中で作る。効果音と BGM は Web Audio API、読み上げは Web Speech API を使う。音声ファイル・画像ファイル・外部サービスは使わない。

計画 p261004-01 との関係: p261004-01 の段階 1・2 を、この計画で置き換える。p261004-01 で範囲外にしていた BGM・効果音を含め、読み上げは wav ではなくブラウザで行う。承認後、p261004-01 にこの計画へのリンクと変更点を書く。動画化(段階 3)は p261004-01 のまま残す。

台本

昔話のため著作権の制約はない。文は自分で書く。5 場面。

場面絵ナレーション音
1山あいの家と、おじいさん・おばあさんむかしむかし、ある所に、おじいさんとおばあさんが住んでいました。拍子木(始まり)・BGM 開始
2山へ向かうおじいさん、川へ向かうおばあさんおじいさんは山へしばかりに、おばあさんは川へせんたくに行きました。鳥の声
3川で洗濯するおばあさん。上流から大きな桃が揺れながら流れてくるおばあさんが川でせんたくをしていると、川上から大きな桃が、どんぶらこ、どんぶらこと流れてきました。川の水音・どんぶらこの揺れに合わせた音
4家で桃を切ろうとすると、桃が割れて赤ちゃんが出てくるおばあさんは桃を家に持ち帰りました。おじいさんが包丁で切ろうとすると、桃がぱかっと割れて、中から元気な男の赤ちゃんが生まれました。ぱかっ(割れる音)・きらきら
5赤ちゃんを抱く二人桃から生まれたので、二人はこの子を「桃太郎」と名づけました。拍子木(終わり)・BGM 終了

台本は作品の story.js に JavaScript の配列として持ち、<script src> で読み込む。script.json に分けると、ファイルを直接開いたとき(file://)に読み込めないため。

画面と操作

画面

操作

音と読み上げ

効果音と BGM(Web Audio API)

読み上げ(Web Speech API)

読みの誤り: 音声合成は「川上」「包丁」などを読み違えることがある。その場合は、読み上げる文だけをひらがなにする(字幕は漢字のまま)。台本には字幕用と読み用の 2 つの欄を持たせる。

成果物と進め方

成果物置き場内容
共通の仕組みsrc/engine/舞台・送り・効果音・読み上げ。2 作目以降も使う
桃太郎src/works/01-momotaro/index.html と story.js(台本・SVG・音の指定)。ダブルクリックで開ける

置き場の決め方と公開の方法は、p261004-01「作品の置き場と公開」に従う。

段階ごとに利用者の確認を取ってから次へ進む。

段階 1: 絵と字幕

段階 2: 読み上げ

段階 2+: 声の切り替え

利用者の要望。送りのボタンの下に出ている声の名前をクリックして、別の声に変える。変えたら、今の場面を頭から新しい声で読み直す。選べるのは日本語の声だけ。4-B・5-A に決まった。一覧はブラウザ標準の選択欄(select)で開く。選んだ声はブラウザの localStorage に残し、残せない・残した声が無くなったときは内蔵の声を優先して選び直す。残し方は p261012-01 で sessionStorage(タブを閉じれば消える)に改めた。

結果: ✅ 済。tests/momotaro.spec.ts で、一覧に日本語の声だけが「内蔵」「ネット」の別つきで並ぶこと、選ぶと今の場面を頭から読み直すこと、開き直しても選んだ声で読むこと、残した声が無くなれば内蔵の声に戻ること、一覧で矢印キーを押しても場面が送られないことを確かめた。

一覧の別は、はじめ「PC 内」と書いていたが、iPhone で「Kyoko(PC 内)」と出て合わなかったため、PC にもスマホにも通る「内蔵」に改めた(14-D)。サンプルページ notes/samples/speech-webspeech.html も同じ言い方にした。iPhone では、Safari も Chrome も内蔵の声だけが出て、ネットの声は出ない。

段階 2++: 表紙に戻るボタン

利用者の要望。送りのボタン(‹ ›)の左に「⏮」を置き、押すと読み上げを止めて表紙に戻る(13-A。1 場面目に戻る 13-B は採らない)。表紙ではこのボタンを押せない。

結果: ✅ 済。tests/momotaro.spec.ts で、表紙では押せないこと、押すと読み上げを止めて表紙に戻り、表紙では読み上げないことを確かめた。

段階 2+3: 声の選択の残し方を改める

段階 2+ の localStorage を sessionStorage に改める。別の計画 p261012-01 で進める。

段階 3: 効果音と BGM

確認は Chrome と Edge で行う。PlayWright 共有環境で各場面のスクリーンショットを撮り、絵の崩れを見る。音は利用者が聞いて確かめる。

テストは PlayWright 共有環境の Chromium と WebKit(iPhone の Safari と同じしくみ)で流す(20-A)。スクリーンショットはブラウザごとに tmp/screens/chromium/・tmp/screens/webkit/ に撮る。Firefox は共有環境側で描画のエラーが出るため外している。Edge では確かめていない。

決めること

個別の回答はなく、「作ってみて」の指示を受けて、すべて推奨の A で着手した。変えるときはこの章を直す。