首頁(yè) > 評(píng)測(cè) > 讓音樂(lè)播放更簡(jiǎn)單——Adafruit Music Maker FeatherWing和Audio FX Sound Board評(píng)測(cè)
讓音樂(lè)播放更簡(jiǎn)單——Adafruit Music Maker FeatherWing和Audio FX Sound Board評(píng)測(cè)
- [導(dǎo)讀]
- 本文介紹的兩款模塊都很小巧,但功能強(qiáng)大,一款是高集成度的OGG播放器方案,另一款是大家都熟悉MP3解碼方案。此次評(píng)測(cè)的是Adafruit的兩塊板子:Audio FX Sound Board & Music Maker FeatherWing w/Amp
用VS1053做MP3的例子非常多,而我這里選擇另一方面的應(yīng)用:MIDI模式。這個(gè)模塊要使用MIDI模式,需要把PCB背面的跳線焊盤(pán)短路。模塊需要兩組電源5V和3V,分別供電給功放和VS1053。我這里從一個(gè)開(kāi)發(fā)板上取電。功放輸出外接兩個(gè)無(wú)源小音箱(TB拆機(jī)件)。這里選擇用電腦串口發(fā)送指令,USB轉(zhuǎn)串口模塊是必須的,強(qiáng)烈建議使用FT232,其他的像PL2303不一定正常。因?yàn)槎际菑腢SB取電,所以這里串口模塊僅連接一根線。
這里參考了Adafruit的Arduino代碼,用Python實(shí)現(xiàn)同樣的功能,實(shí)現(xiàn)了這幾個(gè)函數(shù):
初始化函數(shù)(注意這里設(shè)置了兩個(gè)通道,使用不同的樂(lè)器,在播放《獻(xiàn)給愛(ài)麗絲》的時(shí)候使用兩種樂(lè)器輪流演奏)
def vs1053_midi_setup(com_name,timeout=0.5):
ser=serial.Serial(com_name,31250,timeout=timeout)#31250
ser.open
print(ser.name+' is opened!')
midiSetChannelBank(ser,0, VS1053_BANK_MELODY)
midiSetChannelVolume(ser,0, 127)
instrument = VS1053_GM1_Acoustic_Grand_Piano
#instrument = random.randint(1,128)
midiSetInstrument(ser,0, instrument)
print("Set Instrument1: %u"%instrument)
instrument = VS1053_GM1_Acoustic_Guita
midiSetInstrument(ser,1, instrument)
print("Set Instrument2: %u"%instrument)
print('Ready!')
return ser
設(shè)置通道的樂(lè)器
def midiSetInstrument(ser, chan, inst):
if chan>15:
return -1
inst=inst-1 #page 32 has instruments starting with 1 not 0 :(
if inst>127:
return -1
ser.write([MIDI_CHAN_PROGRAM | chan])
time.sleep(1)
ser.write([inst])
time.sleep(1)
return 0
-
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評(píng)論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開(kāi)放投稿
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開(kāi)發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車(chē)啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開(kāi)發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開(kāi)發(fā)
預(yù)算:¥1100001天前