“MIDI音乐”的版本间的差异
502748957@qq.com(讨论 | 贡献) (创建页面,内容为“{| style="width: 800px;" |- | <p style="color: #4F4E4E;font-size:220%">'''AudioPro播放MP3示例'''</p> <br> 在下面的示例中,使用Core+核心控制AudioPro…”) |
502748957@qq.com(讨论 | 贡献) |
||
第2行: | 第2行: | ||
|- | |- | ||
| | | | ||
− | <p style="color: #4F4E4E;font-size:220%">''' | + | <p style="color: #4F4E4E;font-size:220%">'''AudioPro播放MIDI示例'''</p> |
<br> | <br> | ||
在下面的示例中,使用Core+核心控制AudioPro模块播放MIDI格式的声音。 | 在下面的示例中,使用Core+核心控制AudioPro模块播放MIDI格式的声音。 |
2018年11月22日 (四) 03:36的最新版本
AudioPro播放MIDI示例
所需硬件
电路搭建 将Battery+、Core+、MCookie-Module AudioPro堆叠在一起,通过MicroUSB数据线接入电脑。喇叭接在Audio Pro模块上
代码 /*
Microduino_AudioPro支持库例程
模块WIKI:https://wiki.microduino.cn/index.php/MCookie-Module_AudioPro
SPI的MIDI例程
*/
#include <Microduino_AudioPro.h>
AudioPro midiPlayer;
uint8_t toneNum[12] = {57, 59, 60, 62, 64, 65, 67, 69, 71, 72, 74, 76};
void setup() {
Serial.begin(115200);
delay(200);
if (! midiPlayer.begin()) { // initialise the music player
Serial.println(F("Couldn't find VS1053, do you have the right pins defined?"));
while (1);
}
Serial.println(F("VS1053 found"));
midiPlayer.applyPatch(MIDIPatch, sizeof(MIDIPatch) / sizeof(uint16_t));
midiPlayer.midiSetVolume(0, 127); //channels,volume
// See http://www.vlsi.fi/fileadmin/datasheets/vs1053.pdf Pg 31
// VS1053_BANK_DEFAULT VS1053_BANK_MELODY VS1053_BANK_DRUMS1 VS1053_BANK_DRUMS2
midiPlayer.midiSetBank(0, VS1053_BANK_MELODY);
// See http://www.vlsi.fi/fileadmin/datasheets/vs1053.pdf Pg 32 for more!
midiPlayer.midiSetInstrument(0, VS1053_GM1_RHODES_PIANO);
}
void loop() {
for (uint8_t i = 0; i < 12; i++) {
midiPlayer.noteOn(0, toneNum[i], 127);
delay(100);
midiPlayer.noteOff(0, toneNum[i], 127);
delay(50);
}
delay(1000);
for (uint8_t i = 27; i < 87; i++) {
midiPlayer.noteOn(0, i, 127);
delay(100);
midiPlayer.noteOff(0, i, 127);
delay(50);
}
delay(1000);
}
|