Idea, Concept, and Technology

アイデアを形に

音を水面の波紋に変えるアプリ「Ripplizer 2.0」を公開しました

iPhone / iPad アプリ「Ripplizer」をゼロから作り直し、バージョン 2.0 として App Store で公開しました。マイクに届いた音楽のリズムに合わせて、画面いっぱいに水面の波紋が広がるアプリです。

[画像: ipad-water.png — iPad で水面のテーマを表示したところ]

Ripplizer - 音楽ビジュアライザー

Ripplizer - 音楽ビジュアライザー

  • icot
  • ミュージック
  • 無料
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 以降)。

Ripplizer - 音楽ビジュアライザー

Ripplizer - 音楽ビジュアライザー

  • icot
  • ミュージック
  • 無料
apps.apple.com

なお、イヤホンやヘッドホンで聴いているときは、音がマイクに届かないので反応しません。

また、同じ端末で音楽を再生しているときは、Ripplizer を開いたときと、ほかのアプリに切り替えたときに、音が一瞬途切れることがあります。マイクの使用を始めたり止めたりするときに iOS が音声の入出力を切り替えるためで、再生はそのまま続きます。

スピーカーで音楽をかけて、ぼんやり眺めてみてください。