動作の軽さ
スマホで重いときはここを下げてください。3D をオフにするのがいちばん効きます(音はそのまま鳴ります)。
音質は最高のままです。
ミキサー
マスター
各楽器の内部リバーブは切って、ここの共有ルームにまとめて送っています。同じ部屋で鳴っているように聞こえるのはそのためです。
楽器
音が出ないとき
未起動
重いとき(負荷ログ)
1 秒ごとに DSP 負荷・楽器ごとの内訳・fps・CPU 速度の目安を記録します。「途中から重くなる」ときは、これをコピーして貼ってもらえれば原因の切り分けができます。cpu は同じ計算を毎回やらせた所要時間の比(起動直後=1.00)。これが 1.5〜3 に上がっていくなら、コードではなく端末側のクロック低下(発熱・省電力)です。
(音声を起動すると記録が始まります)
この統合版について
5 つのラボの DSP をそのまま 1 つの AudioWorklet に同居させています。音は単体ラボと同じものです(弦は導管、膜はベッセルモード、弓は毎サンプルの摩擦)。
発音のタイミング: シーケンサーはメインスレッドで先読みし、ワークレット側は予約時刻でブロックを割ってから各楽器に配ります。だから piano のように自前のキューを持たない楽器も、ドラムと同じサンプル精度で揃います(ブロック境界の 2.7ms のヨレが出ません)。
3D: WebGL コンテキストは 1 つだけ。バンド全体表示はそのキャンバスをビューポートで区切って 5 楽器を描いています。楽器のシーンは初めて表示するときに作ります。
音を出していない楽器は計算しません。0.4 秒無音が続いたら止め、メッセージが来たら復帰します。
3D を止めています音はそのまま鳴ります。動作を軽くしたいときはこのままどうぞ。
楽器ラボ 統合版
ピアノ・ギター・ベース・ドラム・バイオリンを、すべて物理モデリングで同時に鳴らします。
上のタブで楽器を選んで演奏、下の格子に打ち込んで「▶ 再生」で合奏。