notimatics 5_1 実験ラボ(数式入力・使い捨て)
ピアノモード(src/core/natural-voice.js)の打鍵感(ADSRのAD)実験用に、数式を直接書いて
その場で音を確認するための実験用ページ。Puntone本体とは無関係・使い捨て。
notimatics-3-1-lab.html(倍音を複数行並べて合算する版)とは別に、
「1本の数式 = 1つの音」をまず単体で試すことに絞っている。
ここで書く式は包絡線ではなく瞬間の信号値 s(t) 自体(搬送波込み)を表す。単一正弦波に包絡線を
かけたいときは e^{-k t} \sin(2\pi f t) のように自分で書く(自動で正弦波を掛けたりはしない)。
数式入力・整形・評価には MathLive と
Compute Engine(CDN経由)を使うため、初回読み込みに
ネット接続が必要。
音のパラメータ
定数(式の中で名前そのまま変数として使える。t と f は常に使える)
数式 s(t)
三角関数と同じ書き方で周期波形も呼べる:
ノートピッカーの音も同じ形で呼べる:
\saw(2\pi ft)(鋸波)・\sqr(2\pi ft)(矩形波)・
\tri(2\pi ft)(三角波)。引数は \sin と同じ位相(ラジアン)で、
周期 2π・振幅 ±1・t=0 で 0 から \sin と同じ向きに立ち上がる(矩形波だけ t=0 で +1)。
「大体の式」欄では saw(2*pi*f*t) のように書ける。
帯域制限していないナイーブ波形なので、高い f では折り返し(エイリアス)ノイズが乗る
(折り返し成分の振幅 ≒ f÷22050。440Hzで-34dB、1.7kHzで-22dB。\tri は倍音が
1/n²なので同じ f でも桁違いに小さい)。ノートピッカーの音も同じ形で呼べる:
\np(2\pi ft, px, py, ratio, beta, N)(①倍音バランス+②FM。
引数はノートピッカー欄のボタンで定数ごと挿入できる)。
ノートピッカー(ピンで音色を作ってLaTeXに変換)
| # | 使用 | 音量 |
|---|
①の同番号ピンが無い行はキャリア1本(振幅1)のみのFM単体音として扱う。
②に対応する同番号ピンが無い行はFM無し(通常の倍音和)として扱う。
再生・試聴はこのノートピッカー内で完結する。上の「数式 s(t)」欄に反映するのは
「\np として数式欄に入れる」を押したときだけで、そのとき px1・ratio1 などは
「定数」表に登録される(同名は上書き)。
再生
先頭50ms(アタックの細部確認用)
先頭最大3秒分(全体の減衰・Sustainへの流れ確認用)
履歴
このブラウザは File System Access API 非対応(Chromium系のみ対応)。localStorage保存と、 手動の書き出し/読み込みのみ使える。
バージョン履歴(このブラウザ内のスナップショット。gitではない)
履歴の保存・並び替え・ラベル編集・削除のたびに、このブラウザのIndexedDBへ自動でスナップショットを 残す(最新50件まで)。「この時点に戻す」を押すと、その時点の履歴全体(すべてのエントリ)を 復元する。復元自体も新しいスナップショットとして残るので、復元を取り消すこともできる。