2018/04/23

PADchoir


デモを見る (github.io)

PADchoirは合唱のような音をランダムボタンで簡単に作れるようにYoshimiPADsynthから機能を抜粋したシンセサイザです。

2018/04/19

WaveBox

デモを見る (github.io)

WaveBoxは3次元の波のシミュレーションから音を合成するシンセサイザです。

レンダリングに長い時間がかかります。

WaveCymbal2

デモを見る (github.io)

WaveCymbal2はシンバルというより空き缶のような音が出るシンセサイザです。

2018/04/15

2次元のばね-ダンパ波動方程式





「2次元のばね-ダンパ波動方程式」を読む (github.io)

ばねとダンパの項を加えた波動方程式を2次元にしました。

動画は上が固定端、下が自由端でのシミュレーションです。ソルバに使っているガウス-ザイデル法の反復回数を最大で16回に抑えています。従って厳密な結果ではありません。値が高い部分は明るく、値が低い部分は暗くなります。値が高すぎる部分は赤、低すぎる部分は緑で表しています。

2018/04/07

Newmark-β法で1次元の波動方程式

「Newmark-β法で1次元の波動方程式を読む」 (github.io)

Schweickart, James, Marschner の "Animating Elastic Rods with Sound" によると、Backward Euler法で弾性ロッドの音のシミュレーションを行うと、ダンピングによって受け入れられないほどミュートされた音が出るそうです。そこで論文で紹介されていたNewmark-β法から立てた画像の方程式について離散化と実装を行いました。

画像の一番上の式は、ばねとダンパの項を加えた波動方程式です。

2018/03/29

1次元の分数階Zener波動方程式


「1次元の分数階Zener波動方程式」を読む (github.io)

1次元の分数階Zener波動方程式 (fractional Zener model wave equation) のシミュレーションです。パラメータの組み合わせによっては発散します。

分数階Zener波動方程式はHolmとNäsholmによる "A causal and fractional all-frequency wave equation for lossy media" で紹介されていました。

2018/03/26

分数階微分で1次元の熱伝導-波動方程式


「分数階微分で1次元の熱伝導-波動方程式」を読む (github.io)

分数階微分を使って1次元の熱伝導方程式波動方程式をくっつけました。

Implicit FDMGrünwald-Letnikovの分数階微分を組み合わせて離散化したのですが、パラメータによっては発散することがあります。

2018/03/21

分数階微積分の数値計算


「 分数階微積分の数値計算」を読む (github.io)

分数階微積分Grünwald–Letnikovの定義を使って数値計算します。画像は今回の数値計算に使った分数階微分と分数階積分の式です。

分数階微積分が物理的にどういう意味を持つのかはよくわかりませんが、波動方程式への応用が提案されています。

2018/03/15

ギブス現象を抑える



「ギブス現象を抑える」を読む (github.io)

GottleibとShuの論文 "ON THE GIBBS PHENOMENON AND ITS RESOLUTION" を基にギブス現象を抑える方法を試しました。

ギブス現象が発生している信号からGegenbauer polynomialの係数を取り出して再合成するという方法です。再合成する区間に不連続な部分が含まれていると上手くいかないので、実際に使うときは信号を不連続な部分で区切って分割する必要があります。

2018/03/11

Implicit FDM を用いた1次元の波のシミュレーション


 「Implicit FDM を用いた1次元の波のシミュレーション」を読む (github.io)

前回のシミュレーション では Explicit FDM を用いていたので、パラメータの値によっては発散するという問題がありました。 Implicit FDM を使えば計算コストと引き換えに発散しなくなります。

動画は前回と今回のシミュレーションの比較です。左が Implicit FDM 、右が Explicit FDM です。

2018/03/03

1次元の波のシミュレーション



「1次元の波のシミュレーション」を読む (github.io)

1次元の波のシミュレーションについてまとめました。

以前に波をシミュレーションしたときは、時間や長さといったパラメータについては適当でした。今回はパラメータの設定を行いたかったので、波動方程式から有限差分法で離散化する手順について調べました。