1
- 投稿者
- Daniel White (@dwhitedesign)
- 投稿日時
- 2026-07-03 22:47 +07
- 元リンク
- https://x.com/dwhitedesign/status/2073071132605817298
- 自動生成記事
- オーディオファイルなしで作る「触覚的」UIサウンドの設計
概要
約2KB・依存なしをうたうWeb Audio製UIサウンドライブラリ「tactile」のデモ。10種類の合成音を試し、hover/press・release/toggleへdata属性だけで割り当てる流れを見せている。
詳細解説
約24.6秒の画面デモ。冒頭のページには「tactile」「v0.1.0・~2 kb・0 deps」と、Web Audioでその場で合成するため音声ファイルも依存関係もない、という説明が表示される。Soundboardにはchime、sparkle、droplet、bloom、whisper、tick、press、release、toggle、successの10ボタンが並び、クリックや1〜0キーで鳴らすと波形、音名、周波数帯、長さが更新される。代表フレームではsparkleが1.8–3.5 kHz・0.26秒、tickが5.4 kHz・0.02秒と表示された。後半は実装例で、data-sound-hoverを付けたDocs/Examples/Changelog、data-sound-pressとdata-sound-releaseを付けたSaveボタン(押下時にSavedへ変化)、data-sound-toggleのスイッチを操作する。最後に「npm install tactile」と、HTML要素へdata-sound-*属性を付けるUsageコードを示し、既存UIへ宣言的に効果音を追加できることを実演している。
重要ポイント
- Web Audioで短いUI音をライブ合成し、事前録音した音声ファイルを配布しない設計を示す。
- Soundboardで10種類の音と波形・周波数帯・再生時間をその場で確認できる。
- hover、press+release、toggleという操作状態ごとに音を割り当てられる。
- HTMLではdata-sound-hover、data-sound-press、data-sound-release、data-sound-toggleを付ける簡潔なAPIになっている。
- Save→Savedの視覚変化と効果音を組み合わせ、操作完了のフィードバックを補強する使い方が中心。
実務/開発への示唆
- ボタン押下・完了・切替の音を短く一貫させると、視線を動かさずに状態変化を伝えやすい。
- 宣言的なdata属性方式なら、既存コンポーネントへ小さく導入し、必要な箇所だけ段階的に試せる。
- hover音は動画内にもあるdebounceのような抑制を入れ、ポインター移動で連打されないようにする。
- ミュート設定、音量、prefers-reduced-motion相当のユーザー配慮、ブラウザーの自動再生制約を実装時に確認する。
注意点
- 動画と投稿は短い製品予告/デモであり、公開時のAPI、対応ブラウザー、パッケージサイズ、ライセンス条件は別途確認が必要。
- 「~2 kb」「0 deps」「音声ファイルなし」は画面上の製品説明で、この動画解析ではビルド成果物を独立計測していない。
- UI効果音はアクセシビリティや周囲環境によって不要・不快になり得るため、無効化手段と視覚フィードバックを残すべき。
- AAC音声はあるが明瞭なナレーションは確認できず、mlx_whisperの「Thank you.」は先頭語の確率が約0.038で映像内容とも合わないため誤認識扱いとした。
文字起こし・画面内テキスト
明瞭なナレーションなし。音声は画面操作に同期する短い合成UI効果音。mlx_whisperは1.62〜2.88秒を「Thank you.」と出力したが、Thankの単語確率が0.038と低く、UIサウンド実演という映像内容とも整合しないため採用していない。主な画面内テキスト(原文): 「Ten little sounds that make interfaces feel physical. Synthesized live with Web Audio — no files, no dependencies.」/「chime, sparkle, droplet, bloom, whisper, tick, press, release, toggle, success」/「npm install tactile」/「data-sound-hover」「data-sound-press」「data-sound-release」「data-sound-toggle」。