音色実験ラボ
音のパラメータ
定数(式の中で名前そのまま変数として使える。t と f は常に使える)
数式 s(t)
使える独自関数の一覧は下の「独自関数」パネルにある。
ノートピッカー(ピンで音色を作ってLaTeXに変換)
ピン#1を数値で指定
px1・py1 は①のピン#1(0〜1、原点は左上)、ratio1・beta1 は②のピン#1
(ratio 0.5〜4・beta 0〜12。パッド座標へは線形変換される)。パッドをドラッグすると
こちらの数値も追従する。
| # | 使用 | 音量 |
|---|
①の同番号ピンが無い行はキャリア1本(振幅1)のみのFM単体音として扱う。
②に対応する同番号ピンが無い行はFM無し(通常の倍音和)として扱う。
再生・試聴はこのノートピッカー内で完結する。上の「数式 s(t)」欄に反映するのは
「\np として数式欄に入れる」を押したときだけで、そのとき px1・ratio1 などは
「定数」表に登録される(同名は上書き)。
独自関数
\sin などの標準の関数に加えて、このラボは下記を用意している。
一覧は CUSTOM_FUNCTIONS の定義から自動生成しているので、実際に使えるものと必ず一致する。
| 書き方 | 説明 |
|---|
引数の 式 のところには t を含む任意の式を書ける(入れ子も可)。
「大体の式」欄では saw(2*pi*f*t) のようにバックスラッシュ無しで書ける。
状態を持つと書いてある関数は、前のサンプルの値や乱数列の進み具合を使う
(=その式は t の純関数ではなくなる)。鳴らすたびに状態は初期化され乱数の種も固定なので、
同じ式なら毎回同じ音になる。ただし
サンプルレートを変えるとカットオフのHzが変わる点には注意
(正規化カットオフはナイキスト周波数基準のため)。
これらの関数は \sum の中に書けば倍音ごとに独立した個体になる。
再生
「再生」はいずれも式を毎回フルレンダリングしてから鳴らす。
ローパス/ハイパス/バンドパスはその波形に上の固定のButterworthを掛けて鳴らすだけで、
式は書き換えない(試聴用)。
掛かり具合を変えたい・そのまま音色に残したいときは、式の側に
「履歴①〜」は直前に鳴らした式を新しい順に持っておくもの。同じLaTeX式は入れ直さないので、 式を変えずに何度鳴らしても中身はずれない。マウスを乗せるとその式が出る。
\bwlp・\bwhp・\bwbp を書く。
ボタンは直前のレンダリング結果に対してそのフィルタが効くかどうかで自動的に有効・無効になる
(判定はフィルタ前後のRMSの差が 0.1dB 以上あるかどうか。実際の差はボタンにマウスを乗せると出る)。「履歴①〜」は直前に鳴らした式を新しい順に持っておくもの。同じLaTeX式は入れ直さないので、 式を変えずに何度鳴らしても中身はずれない。マウスを乗せるとその式が出る。
書き出したWAVを拡大して見たいときは 波形ビューア(waveform.html) に読み込ませる。
先頭50ms(アタックの細部確認用)
先頭最大3秒分(全体の減衰・Sustainへの流れ確認用)
履歴
このブラウザは File System Access API 非対応(Chromium系のみ対応)。localStorage保存と、 手動の書き出し/読み込みのみ使える。
バージョン履歴(このブラウザ内のスナップショット。gitではない)
履歴の保存・並び替え・ラベル編集・削除のたびに、このブラウザのIndexedDBへ自動でスナップショットを 残す(最新50件まで)。「この時点に戻す」を押すと、その時点の履歴全体(すべてのエントリ)を 復元する。復元自体も新しいスナップショットとして残るので、復元を取り消すこともできる。