klknn log / posts / tags / works / feed / src
オーケストラなどA=440Hz以外の基準周波数で録音するとき、440Hzで設定されてるプラグイン側の周波数を修正したいことはよくある。しかし大抵は半音単位やセントでチューニングを指定することになる。それを自動的に求めるJSを書いてみた。
プラグイン標準の基準周波数 x (例 440Hz) 、目的の基準周波数 y (例 443Hz) に変更するには半音階のパラメータ z との間には、1オクターブ (= 2倍の周波数間) を12等分する平均律の定義から:
\begin{align} 2 ^\frac{z}{12} &= \frac{y}{x} \newline z &= 12 \log_2 \frac{y}{x} \end{align}
たとえば 440Hz の音源を 443Hz にピッチシフトしたい場合は $ z = 12 \log_2 \frac{443}{440} = 0.1176381… $ 半音上げれば良い。関数電卓が手元にない人のためにJavaScriptで書いてみると、こんな感じ:
var cent = document.getElementById('cent');
var target = document.getElementById('target');
var source = document.getElementById('source');
function hz2cent(unused) {
var src = parseFloat(source.value);
var tgt = parseFloat(target.value);
cent.innerText = 12 * Math.log2(tgt / src);
}
hz2cent();
source.addEventListener('keyup', hz2cent);
target.addEventListener('keyup', hz2cent);
シンセサイザーなどはユニゾンのためなど比較的わかりやすくfinetuneなどの項目があるが、サンプラー系はわかりにくいので注意。
East West Playの場合はここ
Kontakt の場合はここ
Copyright © klknn All Rights Reserved.