GollyのGenerationsで作った音のクラスタリングを読む (github.io)
GollyのGenerationsで作った音を分類したくなったので、音のMFCCを特徴としてK-Meansでクラスタリングしました。
クラスタリングから得られたデータでファンシーなプロットも作りました。上の図はMFCCによるクラスタリングの結果をt-SNEで視覚化しています。
2018/11/29
2018/11/17
2018/11/13
Singen0.3
Singen0.3を試す (github.io)
Singen0.3はPADsynthをモジュレータに使ったFMシンセサイザです。
次のリンクのデモ曲のような音が出ます。デモ曲はSingen0.3で作った音をFL StudioのSamplerに読み込ませて作っています。
デモ曲を聴く (Google Drive)
以下はおおまかな信号の流れ図です。
Singen0.3はPADsynthをモジュレータに使ったFMシンセサイザです。
次のリンクのデモ曲のような音が出ます。デモ曲はSingen0.3で作った音をFL StudioのSamplerに読み込ませて作っています。
デモ曲を聴く (Google Drive)
以下はおおまかな信号の流れ図です。
2018/10/20
2018/10/19
WebAudioを試す
「WebAudioについて」を読む (github.io)
WebAudioでよく使いそうな機能を一通り試して文章にまとめました。
今のところはAudioWorkletが使えないので複雑なことはできなさそうです。
DelayNodeで簡単なシンセサイザを作って遊ぶつもりだったのですが、Karplus-Strongを実装して delayTime = 1 / pitch としたところ音程がずれました。一定の値を加えることでチューニングできたので、何らかの理由で想定外の遅延が加えられているようです。
Firefox 62ではBiquadFilterNodeのtypeが "lowpass" または "highpass" のときQに負の値を設定できないこともわかりました。
追記 2019-10-27: Firefox 71 でBiquadFilterNodeのバグが修正されました。 https://bugzilla.mozilla.org/show_bug.cgi?id=1499597
WebAudioでよく使いそうな機能を一通り試して文章にまとめました。
今のところはAudioWorkletが使えないので複雑なことはできなさそうです。
DelayNodeで簡単なシンセサイザを作って遊ぶつもりだったのですが、Karplus-Strongを実装して delayTime = 1 / pitch としたところ音程がずれました。一定の値を加えることでチューニングできたので、何らかの理由で想定外の遅延が加えられているようです。
Firefox 62ではBiquadFilterNodeのtypeが "lowpass" または "highpass" のときQに負の値を設定できないこともわかりました。
追記 2019-10-27: Firefox 71 でBiquadFilterNodeのバグが修正されました。 https://bugzilla.mozilla.org/show_bug.cgi?id=1499597
2018/10/09
PADchoir2
デモを試す(github.io)
PADchoir2はPADsynthに直接、倍音を入力して音をレンダリングできるシンセサイザです。
以前作ったPADchoirで「あ」以外の母音を作れるようにできないか試していたところ、PADsynthに直接倍音を入力した方が早いような気がしたのでインターフェイスを少し変えてPADchoir2としました。いろいろ試した後でPADchoirも多少改良しました。
母音のフォルマントは声のピッチによって変動しないようです。PADchoir2のパラメータで言うと、Overtoneを上手く設定して母音の「い」に聞こえる音ができても、Basefreqを変えると別の母音に聞こえることがあります。
PADchoir2はPADsynthに直接、倍音を入力して音をレンダリングできるシンセサイザです。
以前作ったPADchoirで「あ」以外の母音を作れるようにできないか試していたところ、PADsynthに直接倍音を入力した方が早いような気がしたのでインターフェイスを少し変えてPADchoir2としました。いろいろ試した後でPADchoirも多少改良しました。
母音のフォルマントは声のピッチによって変動しないようです。PADchoir2のパラメータで言うと、Overtoneを上手く設定して母音の「い」に聞こえる音ができても、Basefreqを変えると別の母音に聞こえることがあります。
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
FDNCymbal は feedback delay network を使ったシンバルのような音が出るシンセサイザです。
仕組み
下図はFDNCymbal の大まかな信号の流れです。Input はインパルスです。
FDN(n) の *.Time は FDN.Time、Atk.Time、Tick.Time に基づいていますが、カスケードの深さに比例して変更されます。
加算(⊕、プラスの記号に丸)の部分に表示したパラメータは2つの信号を混ぜ合わせる比率を調整します。
登録:
投稿 (Atom)









