iPhone / iPad アプリ「Ripplizer」をゼロから作り直し、バージョン 2.0 として App Store で公開しました。マイクに届いた音楽のリズムに合わせて、画面いっぱいに水面の波紋が広がるアプリです。
[画像: ipad-water.png — iPad で水面のテーマを表示したところ]
apps.apple.comどんなアプリか
音は空気の波です。Ripplizer は、その波を水面の波紋として目に見えるようにします。
使い方は、アプリを開いて音楽をかけるだけです。スピーカーから流れる音楽、楽器の演奏、手拍子など、iPhone や iPad のマイクに届いた音に反応します。Apple Music で再生した曲も、同じ端末のスピーカーから鳴らせばそのまま使えます。
画面をタップした場所にも波紋が広がるので、静かな部屋で指で遊ぶこともできます。眺めている間は画面が自動で消えないようにしています。
低音・中音・高音で動きが変わる

音を低音・中音・高音の 3 つに分けて、それぞれに別の色と動きを付けています。低音はゆっくり大きく広がり、高音は小さく軽やかに消えます。
同じ曲でも、ベースやバスドラムが鳴ると大きな波紋が、ハイハットやボーカルの子音では小さな波紋が生まれます。曲のジャンルや楽器の構成によって、画面の印象がずいぶん変わります。
さらに、拍に合わせて画面全体がふっと脈打ち、音の大きさに合わせて波紋が揺れます。ただ光るだけでなく、音楽に乗って動いている感じを目指しました。
3 つの色のテーマ
上の画像の「水面」のほかに、「夕焼け」と「クラシック」を用意しました。

夕焼けは、赤とオレンジの暖かい色合いです。

クラシックは、赤・緑・青のはっきりした色です。
感度もその場で変えられる

画面をタップすると、小さな設定パネルが開きます。ここで反応の強さ (感度) と色のテーマを切り替えられます。パネルは数秒で自動的に閉じるので、眺めるのを邪魔しません。
作り直した理由: Apple Music の曲は解析できない
旧版の Ripplizer は、ミュージックライブラリから曲を選び、その音声データを直接解析する仕組みでした。ところが今の Apple Music の曲は DRM で保護されていて、ほかのアプリからは音声データを読めません。
そこで 2.0 では発想を変えて、マイクで「空気中の音」を拾うことにしました。制約から生まれた方式ですが、楽器の演奏や手拍子、カフェの BGM など、曲ファイルがない音にも反応できるようになりました。
技術的な話: マイクの音から拍を見つける
マイクの音は、Apple の Accelerate フレームワーク (vDSP) の FFT で周波数ごとに分解しています。そこから 3 つの帯域の音の大きさを取り出しています。
| 帯域 | 周波数 | 波紋 |
|---|---|---|
| 低音 | 20〜250 Hz | 大きく、ゆっくり |
| 中音 | 250〜2,000 Hz | 中くらい |
| 高音 | 2,000〜12,000 Hz | 小さく、軽やか |
拍や打音は、帯域ごとに「最近の平均」と比べて急に大きくなった瞬間として検出しています。基準が入力の音量についてくるので、スピーカーが遠くて音が小さくても、近くて大きくても、同じように反応します。マイクで音を拾う以上、置く場所や音量はまちまちなので、ここはかなり調整しました。
一度 App Store から消えていました
実は Ripplizer は、2023 年 12 月に App Store から削除されていました。長く更新しておらず、ダウンロード数も少ないアプリは削除される、という Apple の方針によるものです。
それから約 3 年、ようやく作り直して戻ってくることができました。レビューで「動かない」とお叱りをいただいていた件も、これで解消しています。
プライバシー
マイクを使うアプリですが、音声はその場で解析するだけで、録音も保存もしません。
- 通信なし
- 広告なし
- アカウント登録なし
- データ収集なし
アプリのサイズは約 1 MB です。
ダウンロード
無料で、iPhone と iPad に対応しています (iOS 26.0 以降)。
apps.apple.comなお、イヤホンやヘッドホンで聴いているときは、音がマイクに届かないので反応しません。
また、同じ端末で音楽を再生しているときは、Ripplizer を開いたときと、ほかのアプリに切り替えたときに、音が一瞬途切れることがあります。マイクの使用を始めたり止めたりするときに iOS が音声の入出力を切り替えるためで、再生はそのまま続きます。
スピーカーで音楽をかけて、ぼんやり眺めてみてください。
