您的位置:極速下載站 → 電腦軟件 → 多媒體類 → 音頻工具 → Music Encode
喜歡用單片機(jī)做音樂(lè)播放的,很愁怎么把音樂(lè)轉(zhuǎn)換成代碼,從而能在單片機(jī)中播放
下面就有方法了:
1:必須有認(rèn)識(shí)簡(jiǎn)譜的能力,不懂簡(jiǎn)譜,那就免談了,自己去學(xué)音樂(lè)知識(shí)吧
2:具有一定的電子知識(shí),至少知道單片機(jī)是什么東西。不懂網(wǎng)上查。
3:用音樂(lè)代碼編輯器,根據(jù)簡(jiǎn)譜,搞出一段代碼來(lái),復(fù)制到程序中的
uint code sound[]={0xff,0x00,};
放在0xff和0x00之間就可以了。(圖片中涂色了得部分)
然后產(chǎn)生代碼,燒寫到51單片機(jī)去。
用普通的8050三極管,接一個(gè)8歐的喇叭就可以發(fā)出音樂(lè)。
管腳要求推挽輸出。
4:相同的音之間,比如三個(gè)555 ,任意兩個(gè)5之間最好加1/8拍的休止符。
5:目前沒(méi)有加更短的拍數(shù)。普通音樂(lè)足夠用了。
6: 刪除音節(jié),目前不能使用,輸錯(cuò)一個(gè)話,就在屏幕上刪除。
7: 先按一下節(jié)拍,就是上面一行的按鈕,然后才按具體的音符,即下面的一行。
其中C1表示 鋼琴的中央C。
說(shuō)明
曲譜存貯格式 unsigned char code MusicName{音高,音長(zhǎng),音高,音長(zhǎng)...., 0,0}; 末尾:0,0 表示結(jié)束(Important)
音高由三位數(shù)字組成:
個(gè)位是表示 1~7 這七個(gè)音符
十位是表示音符所在的音區(qū):1-低音,2-中音,3-高音;
百位表示這個(gè)音符是否要升半音: 0-不升,1-升半音。
音長(zhǎng)最多由三位數(shù)字組成:
個(gè)位表示音符的時(shí)值,其對(duì)應(yīng)關(guān)系是:
數(shù)值(n): 0 1 2 3 4 5 6
幾分音符: 1 2 4 8 16 32 64 音符=2^n
十位表示音符的演奏效果(0-2): 0-普通,1-連音,2-頓音
百位是符點(diǎn)位: 0-無(wú)符點(diǎn),1-有符點(diǎn)
調(diào)用演奏子程序的格式
Play(樂(lè)曲名,調(diào)號(hào),升降八度,演奏速度);
樂(lè)曲名 : 要播放的樂(lè)曲指針,結(jié)尾以(0,0)結(jié)束;
調(diào)號(hào)(0-11) : 是指樂(lè)曲升多少個(gè)半音演奏;
升降八度(1-3) : 1:降八度, 2:不升不降, 3:升八度;
演奏速度(1-12000): 值越大速度越快;