開発環境 |
Microsoft Visual C++ 2010 Express (SP1) |
実行環境 |
Microsoft Windows XP Home Edition (SP3) |
プロジェクトの種類 |
Win32 コンソール アプリケーション |
プロジェクト名 |
wave |
アプリケーションの種類 |
コンソール アプリケーション |
追加のオプション |
空のプロジェクト |
wave.cpp
// 平均律と周波数
#include <stdio.h>
#include <math.h>
// note number
#define A1 33
#define A4 69
#define A5 81
// 音階
const char *scale[] = {"C","C#","D","D#","E","F","F#","G","G#","A","A#","B"};
int main()
{
for (int n = A1; n <= A5; n++) {
double freq = 440.0 * pow(pow(2.0, n - A4), 1.0 / 12);
printf("#%d %-2s%d %.2fHz\n", n, scale[n % 12], n / 12 - 1, freq);
}
return 0;
}
出力
#33 A 1 55.00Hz
#34 A#1 58.27Hz
#35 B 1 61.74Hz
#36 C 2 65.41Hz
#37 C#2 69.30Hz
#38 D 2 73.42Hz
#39 D#2 77.78Hz
#40 E 2 82.41Hz
#41 F 2 87.31Hz
#42 F#2 92.50Hz
#43 G 2 98.00Hz
#44 G#2 103.83Hz
#45 A 2 110.00Hz
#46 A#2 116.54Hz
#47 B 2 123.47Hz
#48 C 3 130.81Hz
#49 C#3 138.59Hz
#50 D 3 146.83Hz
#51 D#3 155.56Hz
#52 E 3 164.81Hz
#53 F 3 174.61Hz
#54 F#3 185.00Hz
#55 G 3 196.00Hz
#56 G#3 207.65Hz
#57 A 3 220.00Hz
#58 A#3 233.08Hz
#59 B 3 246.94Hz
#60 C 4 261.63Hz
#61 C#4 277.18Hz
#62 D 4 293.66Hz
#63 D#4 311.13Hz
#64 E 4 329.63Hz
#65 F 4 349.23Hz
#66 F#4 369.99Hz
#67 G 4 392.00Hz
#68 G#4 415.30Hz
#69 A 4 440.00Hz
#70 A#4 466.16Hz
#71 B 4 493.88Hz
#72 C 5 523.25Hz
#73 C#5 554.37Hz
#74 D 5 587.33Hz
#75 D#5 622.25Hz
#76 E 5 659.26Hz
#77 F 5 698.46Hz
#78 F#5 739.99Hz
#79 G 5 783.99Hz
#80 G#5 830.61Hz
#81 A 5 880.00Hz
最終更新:2013年01月31日 21:46