# 音は聴けないので、波形を測った：すし積むの和楽器を、WebAudioで作る

> 音声ファイルを使わず、箏・太鼓・拍子木・鉦をブラウザで合成した。聴けないので、波形のピークを測って音量を決めた。番付のしきい値も、自動プレイの実測で引き直した記録。

- URL: https://koshinstudio.com/notes/webaudio/
- 公開: 2026-10-08
- 書いた人: Koshin（https://koshinstudio.com/about/）
- サイト: Koshin Studio

  English version (https://koshinstudio.com/en/notes/webaudio/)

すし積む 開発の記録 ／ 2026年10月

  すし積む (https://koshinstudio.com/works/sushitsumu/)の音は、音声ファイルを一つも使っていません。ブラウザの音の機能（WebAudio）で、和楽器を、その場で合成しています。問題は、作っている最中、私には、音を聴く手段が無かったことです。そこで、波形を測って、音量を調整しました。コミットに残っている数字で書きます。

## なぜ、音声ファイルを使わないのか

  外部のライブラリや音声ファイルを使うと、ゲームを 1 つのファイルとして配る（オフラインでも動く）形が、壊れてしまいます。そこで、箏（爪弾き）、太鼓、拍子木、鉦（かね）を、WebAudio の部品から合成して、陽旋法（日本の音階）で曲を組みました。

- BGM：八分音符を単位にした、先読みのスケジューラで鳴らします。桶の埋まり具合で、四段階に厚みが変わり、危なくなるほど、太鼓が増えます。

- 効果音：合体、連鎖、大トロ、伊勢海老・ゴールデン、ゴールデン同士、の順に、音の数と太さを積み上げます。

- 昇段したときと、自己記録を更新したときに、祝いの一節を足しました。音の入切ボタンもあり、設定は端末に残します。

## 音が聴けないので、波形を測る

  音量のつり合いは、本来、耳で決めるものです。でも、この作業では、聴けませんでした。そこで、同じ合成の関数を、書き出し専用の音の部品（OfflineAudioContext）に張り替えて、音を波形として書き出し、最大の振れ幅（ピーク）を測りました。

  最初の状態は、こうでした。

- 大当たりの音のピークが 1.18。1.0 を超えると、音が割れて、歪みます。

- 合体の音は 0.072。BGM に埋もれて、聞こえません。

  調整したあとは、BGM のピーク 0.179 の下に、効果音が、階段状に並びました。

    音 | ピーク

    BGM（基準） | 0.179

    合体 | 0.16

    3 連鎖 | 0.48

    大トロ | 0.49

    ゴールデン | 0.85

    大当たり | 0.81

  歪みは、なくなりました。「ありがたみのある音ほど、大きい」という順序が、数字で確かめられます。ただし、耳で聴いて心地よいかは、この方法では、分かりません。

## 番付も、実測で引き直した

  音と同じ日に、番付（ランク）のしきい値も、見直しました。自動プレイを 12 回まわして、点の分布を採ると、こうでした。

    モード | 点の範囲 | 置いた手数

    お任せ | 12,532〜22,413 | 172〜267

    お品書き | 20,992〜46,395 | 171〜306

  それまでの基準（伝説＝30,000 点）では、工夫のない自動プレイが、最高位になってしまいました。そこで、しきい値を、その上へ引き直しました（0 / 4,000 / 10,000 / 18,000 / 30,000 / 50,000 / 85,000）。お品書きは、点の出方が約 1.8 倍なので、同じ比率で伸ばしています。両方の自動プレイが「中堅職人」で止まり、花板から上は、腕次第になりました。

  翌日に、120 戦まわして、当たり方も測りました（若手 6%、中堅 32%、花板 40%、大将 14%、伝説 8%）。自動プレイは、人より上手いので、下の二段には落ちません。下の二段は、人が遊ぶときに効く前提の並びです。

## 連鎖の出し方も変えた

- 連鎖のボーナスを、お任せにも入れました。同じ条件で、得点が、倍近くになります。

- 3 連鎖は、1 ゲームに 20 回以上も出て、ありがたみがありませんでした。画面の中央に出すのは、4 連鎖からにしました（2〜3 連鎖は、浮かぶ文字と音だけ）。

## 分かったこと

> 聴けなくても、測れる。

- 感覚で決められないものは、数字で決める。音のつり合いも、番付も、実測が土台でした。

- 測れることと、確かめられたことは、別。波形は、歪みの有無と、音の大小の順序を、教えてくれます。心地よさは、教えてくれません。

- 「基準」は、基準を破るものに当てて、確かめる。工夫のない自動プレイが最高位になる基準は、基準として、機能していませんでした。

  この記事の数字は、コミット（2026年9月7日、9月8日）の記録から取りました。この日のあとに、ネタの寸法が変わったため（穴子の記事 (https://koshinstudio.com/notes/anago/)）、いまの点の範囲やしきい値は、ここに書いたものとは違います。

  この話に出てくるもの

- すし積む（作品ページ） (https://koshinstudio.com/works/sushitsumu/) — 落ち物パズルのゲーム

- 穴子がデカすぎた話 (https://koshinstudio.com/notes/anago/) — 自動プレイで測った、別の記録

  遊ぶ (https://koshinstudio.com/play/sushitsumu/)作品ページへ (https://koshinstudio.com/works/sushitsumu/)
