klknn log / posts / tags / works / feed / src

周波数Hz比から半音階への変換

オーケストラなど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の場合はここ

image

Kontakt の場合はここ

image


Back to top

Prev: IK ARC Studio、バイオリン購入など

Next: スバル インプレッサ購入

Copyright © klknn All Rights Reserved.