ピッチテーブルを作ってみる
Flash Player 10 でサウンド生成が可能になりましたが実際これを利用する場合は「音階と周波数」の関係を多少なりとも知っておくと後々役立ちます。
と言うことで、簡単なピッチ(周波数)計算機(SWF)を作ってみました。
(たまにはコードもアップしないとね・・・)
■ 表示内容は:
- 「Keyb. Note =」は、キーボード(鍵盤)での呼び名です。(例えばA4とか)
- 「MIDI Note =」は、MIDIのノートナンバーです。
- 「Freq =」は、対応する周波数値(Hz)です。
計算方法は以下のスクリプトです。(メイン部分のみ)
基準となる値は、MIDIノートナンバー69(鍵盤でA4)=440Hzです。
これらを基準として半音の平均率を求める公式を利用して周波数の配列を生成します。
配列のインデックスとMIDIノートナンバーが同じになるように周波数値を代入します。
そうすることで、周波数配列[ノートナンバー]ですぐ目的の周波数値が引き出せます。
function create_fs_array():Array {
var fs_array:Array = [];
var max_notes:int = 120;
for (var i:int = 0; i<max_notes ; i++) {
fs_array[i] = Math.floor(440*Math.pow(2, (i-69)/12));
}
return fs_array;
}
以下、デモサンプルです。
※注)上のサンプルスクリプトでは整数値のみを取り出していますがデモSWFでは小数点下三桁までを求めていますのであしからず・・です。




