Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОГРАММИРОВАНИЕ_САУ_КМО.doc
Скачиваний:
11
Добавлен:
06.11.2018
Размер:
918.02 Кб
Скачать

14. Файл sys_mus.H. Музыкальные подпрограммы программы scont.C.

[1] /*########################################################*/

[2] /*

[3] Copyright (C) 2008 by A.E.Stefanovich tel. 236-2729, 268-3916

[4] Moscow State University of the Instrumentation and Informatics

[5] MGUPI

[6] Chair Information Maintenance of Systems Robototechnical and Mechatronic

[7] IS 5

[8] */

[9] /*########################################################*/

[10] /*

[11] File: SYS_MUS.h

[12] MUSIC

[13] */

[14] /*########################################################*/

[15] /*============================= Global Constants */

[16] /*------------- First oct. */

[17] #define D_ 262

[18] #define DD_ 277

[19] #define RB- 277

[20] #define R_ 294

[21] #define RD_ 311

[22] #define MB_ 311

[23] #define M_ 330

[24] #define F_ 349

[25] #define FD_ 370

[26] #define SB_ 370

[27] #define S_ 392

[28] #define SD_ 415

[29] #define LB_ 415

[30] #define L_ 440

[31] #define LD_ 466

[32] #define CB_ 466

[33] #define C_ 494

[34] /*------------- Coeficient frequency */

[35] #define OG 0.25 /* Big oct. */

[36] #define OL 0.5 /* Little oct. */

[37] #define O2 2 /* Second oct. */

[38] #define O3 4 /* Third oct */

[39] /*------------- Pause frequency */

[40] #define P_ 20000

[41] /*------------- Length of the whole note */

[42] #define ANDANTE 3375

[43] #define MODERATO 2250

[44] #define ALLEGRO 1700

[45] /*============================= DECLARATION */

[46] void n(float f,float l);

[47] void sonata17(float W);

[48] void sonata17r(float W);

[49] void elise(float W);

[50] /*######################################### SUB_PROGRAMMS */

[51] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIII*/

[52] void n(float f,float l)

[53] {

[54] sound(f);

[55] delay(l);

[56] nosound();

[57] }

[58] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIII*/

[59] void sonata17(float W)

[60] {

[61] n(L_,W/16); n(F_*O2,W/16); n(M_*O2,W/16);

[62] /*------------- 1 */

[63] n(R_*O2,W/8); n(P_,W/16); n(L_*O2,W/16); n(F_*O2,W/16); n(M_*O2,W/16);

[64] n(R_*O2,W/8); n(P_,W/16); n(L_*O2,W/16); n(F_*O2,W/16); n(M_*O2,W/16);

[65] n(R_*O2,W/8); n(P_,W/16); n(L_, W/16); n(F_*O2,W/16); n(R_*O2,W/16);

[66] n(M_*O2,W/8); n(P_,W/16); n(L_, W/16); n(S_*O2,W/16); n(F_*O2,W/16);

[67] /*------------- 2 */

[68] n(M_*O2,W/8); n(P_,W/16); n(L_,W/16); n(S_*O2,W/16); n(F_*O2,W/16);

[69] n(M_*O2,W/8); n(P_,W/16); n(L_ ,W/16); n(S_*O2,W/16); n(F_*O2,W/16);

[70] n(M_*O2,W/8); n(P_,W/16); n(L_, W/16); n(S_*O2,W/16); n(M_*O2,W/16);

[71] n(F_*O2,W/8); n(P_,W/16); n(R_*O2,W/16); n(L_*O2,W/16); n(R_*O3,W/16);

[72] /*------------- 3 */

[73] n(CB_*O2,W/8); n(P_,W/16); n(CB_ ,W/16); n(R_*O2,W/16); n(CB_ ,W/16);

[74] n(S_ *O2,W/8); n(P_,W/16); n(S_ ,W/16); n(CB_ ,W/16); n(S_*O2,W/16);

[75] n(M_ ,W/8); n(P_,W/16); n(M_, W/16); n(L_ ,W/16); n(M_*O2,W/16);

[76] n(F_*O2 ,W/8); n(P_,W/16); n(F_, W/16); n(L_ ,W/16); n(F_*O2,W/16);

[77] /*------------- 4 */

[78] n(R_*O2 ,W/8); n(P_,W/16); n(R_ ,W/16); n(L_ ,W/16); n(R_ *O2,W/16);

[79] n(DD_*O2,W/8); n(P_,W/16); n(DD_ ,W/16); n(L_ ,W/16); n(DD_*O2,W/16);

[80] n(R_ *O2,W/4);

[81] }

[82] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIII*/

[83] void sonata17r(float W)

[84] {

[85] n(L_,W/16); n(F_*O2,W/16); n(M_*O2,W/16);

[86] /*------------- 1 */

[87] n(R_*O2,W/8); n(P_,W/16); n(L_*O2,W/16); n(F_*O2,W/16); n(M_*O2,W/16);

[88] n(R_*O2,W/8); n(P_,W/16); n(L_*O2,W/16); n(F_*O2,W/16); n(M_*O2,W/16);

[89] n(R_*O2,W/8); n(P_,W/16); n(L_, W/16); n(F_*O2,W/16); n(R_*O2,W/16);

[90] n(M_*O2,W/8); n(P_,W/16);

[91] }

[92] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIII*/

[93] void elise(float W)

[94] {

[95] n(M_*O2,W/16); n(RD_*O2,W/16); n(M_*O2,W/16);

[96] /*------------- 1 */

[97] n(RD_*O2,W/16); n(M_*O2,W/16); n(C_,W/16); n(R_*O2,W/16); n(D_*O2,W/16);

[98] n(L_,W/8); n(P_,W/16);

[99] }

[100] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIII*/

[101] /*#############################################################*/

* * *