您的位置:極速下載站 → 電腦軟件 → 多媒體類 → 音頻工具 → Music Encode
喜歡用單片機做音樂播放的,很愁怎么把音樂轉換成代碼,從而能在單片機中播放

下面就有方法了:
1:必須有認識簡譜的能力,不懂簡譜,那就免談了,自己去學音樂知識吧
2:具有一定的電子知識,至少知道單片機是什么東西。不懂網上查。
3:用音樂代碼編輯器,根據簡譜,搞出一段代碼來,復制到程序中的
uint code sound[]={0xff,0x00,};
放在0xff和0x00之間就可以了。(圖片中涂色了得部分)
然后產生代碼,燒寫到51單片機去。
用普通的8050三極管,接一個8歐的喇叭就可以發出音樂。
管腳要求推挽輸出。
4:相同的音之間,比如三個555 ,任意兩個5之間最好加1/8拍的休止符。
5:目前沒有加更短的拍數。普通音樂足夠用了。
6: 刪除音節,目前不能使用,輸錯一個話,就在屏幕上刪除。
7: 先按一下節拍,就是上面一行的按鈕,然后才按具體的音符,即下面的一行。
其中C1表示 鋼琴的中央C。
說明
曲譜存貯格式 unsigned char code MusicName{音高,音長,音高,音長...., 0,0}; 末尾:0,0 表示結束(Important)
音高由三位數字組成:
個位是表示 1~7 這七個音符
十位是表示音符所在的音區:1-低音,2-中音,3-高音;
百位表示這個音符是否要升半音: 0-不升,1-升半音。
音長最多由三位數字組成:
個位表示音符的時值,其對應關系是:
數值(n): 0 1 2 3 4 5 6
幾分音符: 1 2 4 8 16 32 64 音符=2^n
十位表示音符的演奏效果(0-2): 0-普通,1-連音,2-頓音
百位是符點位: 0-無符點,1-有符點
調用演奏子程序的格式
Play(樂曲名,調號,升降八度,演奏速度);
樂曲名 : 要播放的樂曲指針,結尾以(0,0)結束;
調號(0-11) : 是指樂曲升多少個半音演奏;
升降八度(1-3) : 1:降八度, 2:不升不降, 3:升八度;
演奏速度(1-12000): 值越大速度越快;
注:您的評論需要經過審核才能顯示,請文明發言!