#include #include #define K 0//这个频率0,就是不响,作为空拍 //以下的所有表示音符的符号均来自fl studio 14 的fl keys的标注,或许和一般钢琴的标注不一样 。 //只有三个八度的音高频率 ,因为一般人声可以达到的频率大概都会落在这些里面 #define C4 523 #define C#4 554 #define D4 588 #define D#4 623 #define E4 660 #define F4 700 #define F#4 742 #define G4 786 #define G#4 833 #define A4 884 #define A#4 936 #define B4 992 #define C5 1046 #define C#5 1108 #define D5 1176 #define D#5 1246 #define E5 1320 #define F5 1400 #define F#5 1484 #define G5 1572 #define G#5 1666 #define A5 1768 #define A#5 1872 #define B5 1984 #define C6 2092 #define C#6 2216 #define D6 2352 #define D#6 2492 #define E6 2640 #define F6 2800 #define F#6 2968 #define G6 3144 #define G#6 3332 #define A6 3536 #define A#6 3744 #define B6 3968 #define P 125 //折合bpm==120,原bpm为105,此处取了个近似值 typedef struct { int frequency; int duration; }PU; //以下谱子,正是《社会主义好》的一段 PU t[]={B5,1,B5,2,B5,1,D6,2,B5,5,A5,2,G5,1,E5,2,G5,1,A5,2,B5,2,K,5,B5,1,B5,2,B5,1,D6,2,E6,4,D6,3,E5,1 ,E5,2,E5,1,G5,2,A5,2,K,5,B5,3,A5,1,G5,3,G5,2,E5,1,D5,3,B5,2,D6,1,B5,2,A5,1,G5,2,A5,1,G5,2,A5,2,B5,3,E5, 3,G5,1,D5,2,K,5,B5,2,D6,1,B5,1,D6,2,E6,3,E6,2,D6,1,E6,5,B5,2,A5,3,B5,1,E6,3,D6,3,B5,3,A5,3,K,1,E6,2,D6, 1,B5,2,A5,1,G5,4,K,3,E6,2,D6,1,B5,2,A5,1,G5,4,}; int main() { int i; //结构体数组的长度sizeof(t)/sizeof(PU)得到,总结构体数组大小 / 单个结构体大小 for (i=0; i