音乐是由各种音符组成,大致音调可以用声音的频率和持续时间来组合。下面可以用C语言实现
我们可以先引入一个头文件
#include <windows.h>
这个头文件里面有发声的函数,我们直接调用就行,发声函数自己写还是很麻烦的,这里直接调函数即可
Beep(20,20);//Beep(Frequency,Duration_time);
例程
#include <stdio.h>
#include <windows.h>
// 定义音符频率
#define NOTE_C4 262
#define NOTE_D4 294
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_G4 392
#define NOTE_A4 440
#define NOTE_B4 494
#define NOTE_C5 523
// 定义音符持续时间
#define DURATION_QUARTER 500
#define DURATION_EIGHTH 250
#define DURATION_HALF 1000
#define DURATION_WHOLE 2000
// 演奏《你的名字》主题曲函数
void playYourNameTheme()
{
// 音符和持续时间的组合定义主题曲
Beep(NOTE_C5, DURATION_QUARTER);
Beep(NOTE_G4, DURATION_EIGHTH);
Beep(NOTE_E4, DURATION_EIGHTH);
Beep(NOTE_A4, DURATION_EIGHTH);
Beep(NOTE_B4, DURATION_QUARTER);
Beep(NOTE_A4, DURATION_EIGHTH);
Beep(NOTE_G4, DURATION_EIGHTH);
Beep(NOTE_E4, DURATION_EIGHTH);
Beep(NOTE_A4, DURATION_HALF);
Beep(NOTE_E4, DURATION_QUARTER);
Beep(NOTE_A4, DURATION_EIGHTH);
Beep(NOTE_B4, DURATION_QUARTER);
Beep(NOTE_A4, DURATION_EIGHTH);
Beep(NOTE_G4, DURATION_EIGHTH);
Beep(NOTE_E4, DURATION_EIGHTH);
Beep(NOTE_D4, DURATION_HALF);
Beep(NOTE_F4, DURATION_QUARTER);
Beep(NOTE_E4, DURATION_EIGHTH);
Beep(NOTE_D4, DURATION_EIGHTH);
Beep(NOTE_C4, DURATION_EIGHTH);
Beep(NOTE_D4, DURATION_QUARTER);
Beep(NOTE_E4, DURATION_HALF);
}
void main()
{
playYourNameTheme();
}
调用的时候可以不宏定义,直接填频率和持续时间就行,它就能发声
Beep(200,30);
然后在网上找音符对应的频率和曲子的调子就可以粗略的弹出声音了。