電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>節(jié)拍器開源構(gòu)建

節(jié)拍器開源構(gòu)建

2023-07-10 | zip | 0.23 MB | 次下載 | 免費(fèi)

資料介紹

描述

介紹

該項(xiàng)目將創(chuàng)建一個(gè)節(jié)拍器,它可以隨著來自 Alexa 設(shè)備的亞馬遜音樂節(jié)拍移動(dòng)。添加圖片,它就變成了……METRO-GNOME!

它是 LEGO MINDSTORMS 語音挑戰(zhàn)任務(wù)的簡單擴(kuò)展。在你開始這個(gè)項(xiàng)目之前,你需要完成設(shè)置,至少完成任務(wù) 1 和 2。這將涵蓋基礎(chǔ)知識,所以我不會在這里重復(fù)這些說明。

Alexa 界面目前只提供音樂節(jié)奏,但希望將來能擴(kuò)展到提供有關(guān)正在播放的曲目的更多信息我真的希望我的項(xiàng)目對流派甚至特定歌曲有不同的反應(yīng),但目前還沒有這些信息。

注意:我認(rèn)為這僅適用于現(xiàn)階段的亞馬遜音樂,因此如果您使用其他音樂服務(wù),則不會提供速度數(shù)據(jù)。

通過與她一起完成示例任務(wù),我?guī)椭遗畠洪_始了她的項(xiàng)目。任務(wù) 2 讓我很煩,因?yàn)閯?dòng)作似乎與節(jié)拍不合拍。我想我會創(chuàng)建一個(gè)簡單的項(xiàng)目來改進(jìn)這種能力,這就是結(jié)果。

這與任務(wù) 2 有何不同?

如果您查看任務(wù) 2 中的 _dance_loop 代碼,它會計(jì)算 milli_per_beat,然后乘以 0.65(?。?。我猜這個(gè)調(diào)整是為了讓每個(gè)電機(jī)每拍運(yùn)行 150 毫秒。結(jié)果是一個(gè)近似值,但有誤差。如果您仔細(xì)觀察整個(gè)曲目中的動(dòng)作是否保持節(jié)拍,則此錯(cuò)誤很明顯。

def _dance_loop(self, bpm):
   """
   Perform motor movement in sync with the beat per minute value from tempo data.
   :param bpm: beat per minute from AGT
   """
   color_list = ["GREEN", "RED", "AMBER", "YELLOW"]
   led_color = random.choice(color_list)
   motor_speed = 400
   milli_per_beat = min(1000, (round(60000 / bpm)) * 0.65)
   print("Adjusted milli_per_beat: {}".format(milli_per_beat), file=sys.stderr)
   while self.trigger_bpm == "on":
      # Alternate led color and motor direction
      led_color = "BLACK" if led_color != "BLACK" else random.choice(color_list)
      motor_speed = -motor_speed
      self.leds.set_color("LEFT", led_color)
      self.leds.set_color("RIGHT", led_color)
      self.right_motor.run_timed(speed_sp=motor_speed, time_sp=150)
      self.left_motor.run_timed(speed_sp=-motor_speed, time_sp=150)
      time.sleep(milli_per_beat / 1000)

對于我的,我創(chuàng)建了一個(gè)采用不同方法的 _beat_loop。我在沒有調(diào)整的情況下計(jì)算每個(gè)循環(huán)的秒數(shù),并使用計(jì)時(shí)器來確保每個(gè)電機(jī)運(yùn)動(dòng)都與節(jié)拍同步。為了允許更快地移動(dòng)更高節(jié)奏的曲目,電機(jī)速度也根據(jù)每分鐘的節(jié)拍進(jìn)行縮放。這可確保電機(jī)在進(jìn)行下一次運(yùn)動(dòng)之前到達(dá)終點(diǎn)。

def _beat_loop(self, bpm):
   """
   Perform motor movement in sync with the beat per minute value from tempo data.
   :param bpm: beat per minute from AGT
   """
   self.motor.position = 0
   pos = 40
   speed = min(1000,bpm*2)
   seconds_per_beat = 60/bpm
   next_time = time() + seconds_per_beat
   print("Adjusted seconds per beat: {}".format(seconds_per_beat), file=sys.stderr)
   while self.trigger_bpm == "on":

      # wait until next movement time
      while time() < next_time:
         pass

      # move motor to next position
      self.motor.run_to_abs_pos(position_sp=pos, speed_sp=speed, stop_action="hold")
      # change so next position is on opposite side
      pos = -pos
      # set time for next movement
      next_time = next_time + seconds_per_beat

   # move to straight position when tempo has stopped
   self.motor.run_to_abs_pos(position_sp=0, speed_sp=speed, stop_action="hold")
   print("Exiting BPM process.", file=sys.stderr)

為什么是侏儒?

簡單的。我是一個(gè)爸爸,所以壞雙關(guān)語很好!此外,侏儒很酷,它使創(chuàng)作看起來更有趣。

搭建樂高

樂高積木搭建很簡單,但我在Bricklink Studio 2.0文件中包含了搭建說明。您需要的文件位于“原理圖”部分下。

要連接小矮人,您需要發(fā)揮內(nèi)在的工藝技能。對于我的,我只是用一些開口銷連接了一些硬紙板,然后將侏儒圖片粘貼到硬紙板上。

?
?
?
pYYBAGOStxyAMCitAAsnDuMlAMg820.jpg
?
1 / 2
?

EV3 代碼

該項(xiàng)目不需要任何 Alexa Skill 代碼,因?yàn)樗蕾囉诿慨?dāng)播放歌曲時(shí)通過標(biāo)準(zhǔn)接口提供給 EV3 的信息。享受!

?

下一步去哪里?

Alexa MusicData界面只是一個(gè)測試版,只包括節(jié)奏。我希望它包含更多關(guān)于未來正在播放的曲目的數(shù)據(jù),這樣你就可以做其他事情,例如圣誕機(jī)器人在播放圣誕類型音樂時(shí)開始跳舞。在那之前,你可以看到你能用節(jié)奏做什么。

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)