C/C++中的音乐频率对应列表 | |||||||
音频/音亮 | C(1) | D(2) | E(3) | F(4) | G(5) | A(6) | B(7) |
低音 | 131 | 147 | 165 | 175 | 196 | 220 | 247 |
中音 | 262 | 296 | 330 | 349 | 392 | 440 | 494 |
高音 | 523 | 587 | 659 | 698 | 784 | 880 | 988 |
高二度 | 1047 | 1175 | 1319 | 1397 | 1568 | 1760 | 1976 |
音乐节拍 | |||||||
一个节拍延时:2400 分为 1/2节拍…………1/8节拍 依次除以2即可 |
例子:(VC++ program:)
#include
#include
#include
int main(int argc, char* argv[])
{
unsigned FREQUENCY[]={392,392,440,392,523,494,
392,392,440,392,587,523,
392,392,784,659,523,494,440,
698,698,659,523,587,523};
unsigned DELAY[]={375,125,500,500,500,1000,
375,125,500,500,500,1000,
375,125,500,500,500,500,1000,
375,125,500,500,500,1000,};
int CIRCLE;
for(CIRCLE=0;CIRCLE<25;CIRCLE++)
{
Beep(FREQUENCY[CIRCLE],DELAY[CIRCLE]);
}
return 0;
}
附:在TC中输出音乐Speaker,可用函数:sound()、delay()和nosound()。
格式:
sound(频率)
delay(节拍)
nosound() //声音关闭
如上程序可把Beep()替换为:
for(CIRCLE=0;CIRCLE<25;CIRCLE++){
sound(FREQUENCY[CIRCLE]);
delay(DELAY[CIRCLE]);
nosound();
}