【文章內容簡介】
a, sou, la, si, dou。而音符的持續(xù)時間是根據(jù)樂曲的速度及每個音符的節(jié)拍數(shù)來確定的。在 4/4(四四拍)中,四分音符為 1 拍,每小節(jié) 4拍,全音符持續(xù) 4拍,二分音符持續(xù) 2拍,四分音符持續(xù) 1拍。八分音符持續(xù)半拍等。如果給全音符分配 1s(100 10ms)的時間,則二分音符的持續(xù)時間為 (50 10ms),四分音符的持續(xù)時間為 (25 10ms),八分音符的持續(xù)時間為 ( 10ms)。知道音調與頻率和時間的關系,就可以按照樂曲的曲譜將每個音符的頻率和持續(xù)時間定義成兩個數(shù)據(jù)表,然后編寫程序依次取出表中的頻率值和時間值,調用 SOUNDF程序發(fā)出各種聲音。 5. 系統(tǒng)的主要功能:給用戶提供 5首已經寫好的短曲,根據(jù)用戶的選 擇演奏樂曲,演奏完一首樂曲后跳回起始狀態(tài),如此 循環(huán),直到用戶輸入結束的信息為止。 源程序: 。************************************************** STACK SEGMENT PARA STACK 39。STACK39。 DB 64 DUP(39。STACK...39。) STACK ENDS 。************************************************** DSEG SEGMENT PARA 39。DATA39。 MESS1 DB 50 DUP(39。 39。),39。Now the music is Happy birthday to you 39。,13,10,39。$39。 MESS2 DB 50 DUP(39。 39。),39。Now the music is Mary had a little lamb39。,13,10,39。$39。 MESS3 DB 50 DUP(39。 39。),39。Now the music is Taihu boat 39。,13,10,39。$39。 MESS4 DB 50 DUP(39。 39。),39。please input the speed (s/q)39。,13,10,39。$39。 MESS5 DB 50 DUP(39。 39。),39。please input the yiliang (h/m/l)39。,13,10,39。$39。 MENU DB 5 DUP(13,10) DB 5 DUP(39。 39。),39。**************************************39。,13,10 DB 5 DUP(39。 39。),39。**1:Happy birthday to you。 **39。,13,10 DB 5 DUP(39。 39。),39。**2:Mary had a little lamb。 **39。,13,10 DB 5 DUP(39。 39。),39。**4:Exit。 **39。,13,10 DB 5 DUP(39。 39。),39。*************************************39。,13,10 DB 5 DUP(39。 39。),39。please chioce the number of music:39。,39。$39。,13,10 change DB 125 DUP(39。 39。),39。error! please change anther NO.: 39。,39。$39。 MUS_FREG_l dw 262/2,262/2,294/2,262/2,349/2,330/2 dw 262/2,262/2,294/2,262/2,392/2,349/2 dw 262/2,262/2,523/2,440/2,349/2,330/2,294/2 dw 466/2,466/2,440/2,262/2,392/2,349/2 dw 1 MUS_FREG_m dw 262,262,294,262,349,330 dw 262,262,294,262,392,349 dw 262,262,523,440,349,330,294 dw 466,466,440,262,392,349 dw 1 MUS_FREG_h dw 262*2,262*2,294*2,262*2,349*2,330*2 dw 262*2,262*2,294*2,262*2,392*2,349*2 dw 262*2,262*2,523*2,440*2,349*2,330*2,294*2 dw 466*2,466*2,440*2,262*2,392*2,349*2 dw 1 MUS_TIME_s dw 50*3/2,50*3/2,100*3/2,100*3/2,100*3/2,200*3/2 dw 50*3/2,50*3/2,100*3/2,100*3/2,100*3/2,200*3/2 dw 50*3/2,50*3/2,100*3/2,100*3/2,100*3/2,100*3/2,300*3/2 dw 50*3