[C] c语言 beep 演奏音乐 2 →→→→→进入此内容的聊天室

来自 Chunky Tortoise, 2024-03-07, 写在 C, 查看 13 次.
URL http://www.code666.cn/view/8560d83e
  1. #include<stdio.h>
  2. #include<windows.h>
  3.  
  4. #define K 0//这个频率0,就是不响,作为空拍
  5.  
  6. //以下的所有表示音符的符号均来自fl studio 14 的fl keys的标注,或许和一般钢琴的标注不一样 。
  7. //只有三个八度的音高频率 ,因为一般人声可以达到的频率大概都会落在这些里面
  8. #define C4 523
  9. #define C#4 554
  10. #define D4 588
  11. #define D#4 623
  12. #define E4 660
  13. #define F4 700
  14. #define F#4 742
  15. #define G4 786
  16. #define G#4 833
  17. #define A4 884
  18. #define A#4 936
  19. #define B4 992
  20.  
  21. #define C5 1046
  22. #define C#5 1108
  23. #define D5 1176
  24. #define D#5 1246
  25. #define E5 1320
  26. #define F5 1400
  27. #define F#5 1484
  28. #define G5 1572
  29. #define G#5 1666
  30. #define A5 1768
  31. #define A#5 1872
  32. #define B5 1984
  33.  
  34. #define C6 2092
  35. #define C#6 2216
  36. #define D6 2352
  37. #define D#6 2492
  38. #define E6 2640
  39. #define F6 2800
  40. #define F#6 2968
  41. #define G6 3144
  42. #define G#6 3332
  43. #define A6 3536
  44. #define A#6 3744
  45. #define B6 3968
  46. #define P 125 //折合bpm==120,原bpm为105,此处取了个近似值
  47.  
  48. typedef struct
  49. {
  50. int frequency;
  51. int duration;
  52. }PU;
  53. //以下谱子,正是《社会主义好》的一段
  54. 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
  55. ,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,
  56. 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,
  57. 1,B5,2,A5,1,G5,4,K,3,E6,2,D6,1,B5,2,A5,1,G5,4,};
  58. int main()
  59. {
  60. int i;
  61. //结构体数组的长度sizeof(t)/sizeof(PU)得到,总结构体数组大小 / 单个结构体大小
  62. for (i=0; i<sizeof(t)/sizeof(PU); i++)
  63. Beep(t[i].frequency,t[i].duration*P);
  64. }

回复 "c语言 beep 演奏音乐 2"

这儿你可以回复上面这条便签

captcha