世界を動かす技術を、日本語で。

eigendrumの特性

2026年8月15日原文(eigendrum.com)

概要

  • Eigendrum は、任意形状のドラム音を数値的に解析・再現するWebアプリ
  • 固有値問題 を有限要素法で解き、振動モードと周波数を算出
  • 信頼性は 既知形状との誤差検証 により担保
  • 打点や形状式入力、物理パラメータの調整が可能
  • 個人情報保護 や広告非搭載の運営方針

Eigendrumの仕組み

  • ドラムヘッドの振動は 固有値問題 「−∇²u = λu」としてモデル化
  • 境界条件は u = 0 (縁で固定)となる
  • 各解uが 固有モード(定在波)、λが 固有値 で√λが周波数に比例
  • 多くの形状で解析解がないため、 有限要素法(FEM) による数値解法を採用
    • 形状を三角形メッシュで分割
    • 剛性行列Kと質量行列Mを構築
    • 最小固有値を Kφ = λMφ で算出
  • これにより、任意形状の 振動モードと周波数 を導出

数値の信頼性

  • 円や長方形など 解析解が存在する形状 で毎回精度検証
    • 円は ベッセル関数の零点、長方形は π²(m²/a² + n²/b²)
  • 誤差は 0.1%未満 を維持
  • 有限要素法の特性上、固有値は 常にやや過大評価 (エネルギー最小化の制約空間による)
  • 測定誤差は「the numbers」として明示

打点の影響

  • 打点ごとに 各モードへの寄与 が異なる
  • モードの節線上を叩いても、そのモードは 励起不可
  • これは 理論的帰結 であり、明示的なプログラム制御ではない
  • 実際の打撃は 全モードの混合 として再現
  • モードリストの■印は 打点で励起できないモード
  • 行をクリックすると 単一モードのみ再生 (マレットでは不可能)

方程式から形状生成

  • 輪郭は 手描き だけでなく 数式入力 も可能
    • r(t)で極座標式、x(t), y(t)でパラメトリック曲線
    • 例:1 + 0.3cos(5t)で五つ葉の花形
  • 手描きでは困難な 複雑形状や変形 の作成が容易
  • 数式が テキストとして保存・編集 できる
  • メッシュ化できないほど細い形状は 自動で拒否

ドラムの形は音で判別できるか

  • Mark Kacの有名な問い「Can one hear the shape of a drum?」
  • 1992年にGordon, Webb, Wolpertが 異なる形状で同一スペクトル を持つペア(Kac drum I/II)を構築
  • Eigendrumで両者を 切り替えて比較再生 可能
  • 輪郭が違っても 音は完全一致

モデリングの選択肢

  • 周波数比・モード形状・基本音高 は輪郭のみで決定
  • 波の伝播速度(張力・密度)は ピッチスライダー で設定
    • 各形状は 同一面積に正規化 して比較
    • サンプル形状間で約6半音差、円が最も低音(Faber-Krahn定理)
  • 倍音の減衰速度 は材質・空気抵抗に依存し、スライダーで調整
  • マレットも 幅・接触時間 をパラメータ化
    • 周波数自体は変化せず、各モードの励起度合いのみ影響
  • 減衰は Rayleigh damping (周波数二乗に比例)

サイト運営・連絡先

  • Eigendrumは eigendrum.com で公開
    • 旧URL(baselashraf81.github.io/eigendrum)はリダイレクト
  • 広告や提携は u2679054@uel.ac.uk
  • 数学やインターフェースの不具合は GitHubリポジトリのissue が推奨

コロフォン・プライバシー

  • ビルドステップ・バックエンドなし :全処理はローカル実行
  • Vercel Analytics・Google Analytics のみ利用、広告ネットワーク・同意バナーなし
  • ドメイン・ホスティング支援は 任意寄付制
  • 形状はURLの#以降に保存、 サーバーに送信されない
  • 詳細は プライバシーノート 参照
  • フォントは Jost* by indestructible type*
  • 参考文献:Kac (1966), Gordon/Webb/Wolpert (1992), Driscoll (1997)
  • ソースコード・テスト はGitHub公開
  • 無料・アカウント不要・インストール不要
  • 支援・広告非搭載希望は ko-fi.com/baselashraf

Hackerたちの意見

すごくクールだね!数字キーや右側の列をクリックすると「モード」が単独で起動するんだけど、意外とマイクロトーナルなんだよね。それに、自分でドラムを描けるって!マジでそれ、めっちゃクール!

YouTubeに、金属製のバーやゴング楽器(ガムランみたいなやつ)がどうやって異なる倍音を持ってるか、そして西洋の音程が和音じゃなくて不協和音になるっていうすごい動画があるんだ。完璧な5度ですらそうで、逆にスレンドラやペログの調律みたいに、全然違う音程が和音になるんだよね。考えてみると、ここにあるドラムはそれぞれ全然違う理想的なスケールを持ってるだろうな。これ、めっちゃ面白い。

これを再投稿してくれてありがとう!開発者のBaselAshraf81です。質問や提案があればここで聞いてもらっても大丈夫だよ。興味があったら、GitHubのリポジトリにスターをつけてくれるとすごく助かる!それと、GitHubでフォローも忘れずにね。面白いもの作ってるから!

これで30分も楽しんじゃった。

あの広告、マジでうざいし、作ったクールなものが台無しになるよね!

これ、私が持ってるタンバリンを思い出させるな。特定のスケール用の反復ソルバーを作ること考えたことある?シミュレーションして、自分の楽器をオンデマンドで印刷(またはレーザーカット)できたら面白いと思うんだけど。

タイトルだけで面白そうだけど、トラッカーのポップアップが出て「パートナー」が何千もリストされてて、「正当な利益」のチェックボックスがデフォルトでオンになってるから、結局どうかは分からない。これ、デイリーメールレベルのやつだね。すぐに戻るボタン押したわ。

GitHubで星を求める人たちって、世界はどうなっちゃったんだろうね。

いいね!皮膚の緊張をコントロールできる機能に投票するよ。

一発で全てのクッキーを拒否できるようにしてほしい。今のは馬鹿げてる。

これ、素晴らしい!数年前にこれを見ていたらよかったのに!Q: 指定した時間内(例えば300msの範囲内)で高品質な音を生成することは、あなたのアプローチで可能ですか?難しいですか?どうやってやるつもりですか?数年前に、ゴングの音を使って呼吸の時間をコントロールするブレスワーク/瞑想アプリのアイデアを思いついたことがあるから聞いてるんだ。例のパターンは、4秒吸って、4秒待って、8-10秒吐くって感じ。次は、実際のユーザーの呼吸パターンを使ったフィードバックループを作って、目標に向かって徐々に延ばしていく。結局、「見るための点」+ 基本的なゴングに縮小したけど、音の色彩的な複雑さに気づいてしまったからね。(時間によって形が決まるエンベロープを合成するつもりだったけど、簡単だと思ったり、意味があると思ったりしたバカがいたら可哀想!)https://untested.sonnet.io/notes/projects-and-apps-i-built-f... それで、10万人以上が訪れて、今でも1日数十人が5分以上のセッションをやってるから、満足してるよ。でも、まだその itch があるから、昔の宿敵に再挑戦したいなって感じ :) もしこのことについて話したいなら、連絡してね sonnet.io/posts/hi!

興味があれば、GitHubのリポジトリにスターを付けるとすごく助かるよ。実際にどういうことなのか、すごく気になるんだけど。

Hacker Newsで議論の続きを見る