計画: 事前生成の声に mp3 を足す

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

目的

p261010-01 で、4 声の文ごとの音声を wav で置いた。1 声 5〜12 MB あり、スマホの通信に重い。wav から変換した mp3 を、別の項目として声の一覧に足す。wav は置き換えずに残す。

前提: p261012-01(一覧の値を r:key:形式 にし、voice.js に format を持たせる)が済んでから実装する。同じファイルを触るため。

決まっていること

大きさの実測(2026-10-12。convert-audio の既定の 64kbps。tmp/ に変換して測った):

声wavmp3(64kbps)
ずんだもん5.9 MB1.0 MB
四国めたん5.1 MB0.9 MB
まお11.6 MB1.1 MB
コハク12.0 MB1.1 MB

決めること

72〜76 はすべて A に決まった(2026-10-12)。64kbps の mp3(ずんだもん 1 場面 1 文目)は利用者が聞き、問題なかった。

72. ビットレート

73. 置き場

74. 変換する場所

75. 句の終わりの時刻(ends)

mp3 は変換で先頭に短い無音が入ることがあり、時刻がずれる可能性がある(未計測)。

76. 一覧での並び

進め方

追加: 表示の形を改める(2026-10-13)

利用者の指示。事前生成の声の表示を、作り方と名前を先に、形式と大きさを後ろの括弧に置く形にする。「ファイル」は半角(利用者の指定)。ブラウザの声の表示(無料: 内蔵: 動的生成: 声の名前)は変えない。

結果: ✅ 実装済み(2026-10-13)。make-voice.ts の雛形を直して voice.js を書き直した(音声は作り直していない)。テストの期待値を先に直して落ちるのを見てから実装し、chromium と webkit で全件が通った(79 件)。一覧での見え方は利用者が確かめる。

mp3 の結果: ✅ 済(2026-10-13)。make-voice.ts が wav の隣に同じ名前の mp3(64kbps)を作り、voice.js に声ごとに mp3・wav の順で並べる。4 声 108 本を作り、2 回目は作り直しが 0 本だった。表示は「無料: wav➡mp3 1MB: …」。recorded.js は key と形式の組で声を選ぶ形にした(同じ key に 2 つの形式があるため)。wav と mp3 の長さの差は全 108 本で最大 0.3 ミリ秒で、wav の時刻をそのまま使う(75-A)。既存のテストを並びと既定の声に合わせて直し、chromium と webkit で全件が通った(79 件。音のない webkit の 5 件は従来どおり飛ばす)。PC の Chrome では利用者が聞き、問題なかった(2026-10-13)。公開したあと、iPhone の Safari でも鳴ることを利用者が確かめた(2026-10-13)。