2018/07/25

DR-110風のシンバル



「DR-110風のシンバル」を読む (github.io)

レンダリングした音を聞く (github.com)

DR-110のシンバルに似た音を書き出すPython3のコードを書きました。画像は実装した音の信号の流れ図です。レンダリングした音のリンク先にある *_mixed.wav と *_noisy.wav が合成した音です。

2018/07/21

Burgers方程式でN波


「Burgers方程式でN波」を読む (github.io)

Burgers方程式の厳密解を実装してN波の振る舞いをプロットしました。Vincent TOURNATによるIntroductory Lecture on Nonlinear Acousticsで紹介されていた式を使っています。

似たような波形が出るmdaDX10のオシレータについても調べました。

2018/06/25

2018/05/19

FDNCymbal

デモを見る (github.io)

FDNCymbal は feedback delay network を使ったシンバルのような音が出るシンセサイザです。

仕組み

下図はFDNCymbal の大まかな信号の流れです。

Input はインパルスです。

FDN(n) の *.Time は FDN.Time、Atk.Time、Tick.Time に基づいていますが、カスケードの深さに比例して変更されます。

加算(、プラスの記号に丸)の部分に表示したパラメータは2つの信号を混ぜ合わせる比率を調整します。

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の分数階微分を組み合わせて離散化したのですが、パラメータによっては発散することがあります。