99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

3天內(nèi)不再提示

怎樣翻譯在Arduino上播放的歌曲

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-12-09 16:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:MXL文件

怎樣翻譯在Arduino上播放的歌曲

我發(fā)現(xiàn)的MXL文件最佳來源是musescore.com,大量的收藏用戶提交了樂譜增強(qiáng)音樂。 MXL文件是壓縮的xml文件,其中包含語音,樂器,音符和持續(xù)時(shí)間定義。我下載了Riley Apperson的這個(gè)版本的Stranger Things主題曲。

可以下載許多音樂格式,但是MXL包含轉(zhuǎn)換為Arduino可以播放的音樂所需的信息。

上面的圖片2顯示了以PK開頭的內(nèi)容,這是文件被PK Zip壓縮后的立即泄漏。

圖片3是未壓縮的相同文件,包含標(biāo)準(zhǔn)XML格式。

步驟2:MXL文件數(shù)據(jù)

在數(shù)據(jù)中有幾件事情要看。請記住,我們必須使音符和整體歌曲保持簡單,因?yàn)闆]有比Arduino更強(qiáng)大的功能或其他一些技巧,我們一次只能演奏一個(gè)音符。

音符步驟-E

音符八度音階-3

持續(xù)時(shí)間-1ms ish

聲音-語音將在彼此之上分層疊加。您可能需要找到歌曲的簡單版本,或者挑選出想要的每種聲音的哪個(gè)部分。

我獲取了此信息,使用C#進(jìn)行了解析并將其放入arduino代碼中

步驟3:Arduino代碼

從MXL文件中解析數(shù)據(jù)之后,我將其放入arduino代碼中。必須播放持續(xù)時(shí)間才能使歌曲以您的感覺呈現(xiàn)出來。您可以找到我在GitHub上編寫的Arduino代碼。

int notes [] = {NOTE_C3,NOTE_E3,NOTE_G3,NOTE_B3,NOTE_C4

int持續(xù)時(shí)間[] = {750、750, 750、750、750

現(xiàn)在看來,我看到多維數(shù)組會更有效。音符和持續(xù)時(shí)間相對應(yīng),因此,如果有5個(gè)音符,則應(yīng)該有5個(gè)持續(xù)時(shí)間。

每個(gè)音符都定義為一個(gè)音調(diào)

#define NOTE_B0 31

#define NOTE_C1 33

#define NOTE_CS1 35

#define NOTE_D1 37

然后循環(huán)遍歷數(shù)組中的每個(gè)音符,然后使用上面顯示的音符定義進(jìn)行播放。

tone(8,notes [thisNote],noteDuration);

請注意,Arduino Uno有文件大小限制,因此必須縮短注釋量以達(dá)到該限制。我編寫的應(yīng)用程序有一個(gè)音符限制器,可以更改它以滿足您的需求。

步驟4:C#

我編寫了一個(gè)用C#編寫的小型應(yīng)用程序以解壓縮MXL,解析出音樂數(shù)據(jù),然后將arduino格式輸出到文本區(qū)域。該應(yīng)用程序的源代碼位于GitHub上。

請注意,Arduino Uno有文件大小限制,因此必須縮短注釋量才能達(dá)到該限制。我編寫的應(yīng)用程序具有一個(gè)音符限制器,可以對其進(jìn)行更改以滿足您的需求。

第5步:Arduino接線

這非常簡單。我只是使用了對講機(jī)中的壓電體,然后將“正極”(紅色)連接到引腳8,將“負(fù)極”(黑色)連接到地面。

步驟6:音頻預(yù)覽

這是arduino產(chǎn)生的音頻的預(yù)覽。

步驟7:文件

所有需要的文件都在GitHub上https://github .com/MrRedBeard/DotNet-MXL-Parsing-for-Arduino

只需在此處下載MXL Parser。

Arduino代碼在一個(gè)文件中,但需要在第50行上分為2。audio.ino和pitches.h。也可以從GitHub上獲取該代碼。

Rangerley Apperson在musescore.com上提供的Stranger Things主題曲MXL示例文件

步驟8:應(yīng)用程序的未來

首先,我要說的是我不介意幫助他人進(jìn)行他們的項(xiàng)目,但是就應(yīng)用程序而言,除非有其他項(xiàng)目出現(xiàn),否則我不打算對它做太多其他事情。話雖如此,如果其他人想貢獻(xiàn)和/或與之合作,我將很樂意加入并竭盡所能。

如果您想做出貢獻(xiàn),請?jiān)L問GitHub https://github.com/MrRedBeard/DotNet-MXL-Parsing-for-Arduino并開始使用。向我發(fā)送消息或只是開始將代碼發(fā)布到新分支,其中包含您所做的更改的詳細(xì)信息。

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6498

    瀏覽量

    192187
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    【開源獲獎案例】基于T5L智能屏的音樂播放與歌詞顯示方案

    ——來自迪文開發(fā)者論壇本期為大家推送迪文開發(fā)者論壇獲獎開源案例——基于T5L智能屏的音樂播放與歌詞顯示方案。該方案通過T5L串口與通用開發(fā)板、解碼板進(jìn)行數(shù)據(jù)交互,將解析完成的音頻和歌詞通過串口發(fā)送給智能屏,實(shí)現(xiàn)音樂播放、歌詞顯示、歌曲
    的頭像 發(fā)表于 05-08 09:52 ?257次閱讀
    【開源獲獎案例】基于T5L智能屏的音樂<b class='flag-5'>播放</b>與歌詞顯示方案

    STM32開發(fā)板一般都會配置arduino接口,是不是基本也都會支持arduino?

    STM32開發(fā)板一般都會配置arduino接口,是不是基本也都會支持arduino?這個(gè)在哪里可以查詢開發(fā)板是否支持
    發(fā)表于 03-07 06:33

    AI助力實(shí)時(shí)翻譯耳機(jī)

    你是否曾經(jīng)因?yàn)檎Z言障礙而無法與外國人順暢交流?或者旅行中因?yàn)檎Z言不通而錯過了一些精彩的經(jīng)歷?現(xiàn)在,隨著AI技術(shù)的發(fā)展,實(shí)時(shí)翻譯耳機(jī)可以幫你輕松解決這些問題。 1 什么是實(shí)時(shí)翻譯耳機(jī) 實(shí)時(shí)翻譯
    的頭像 發(fā)表于 01-24 11:14 ?1677次閱讀
    AI助力實(shí)時(shí)<b class='flag-5'>翻譯</b>耳機(jī)

    HAL庫Arduino平臺上的使用

    HAL庫Arduino平臺上的使用 Arduino平臺是一個(gè)開源的電子原型平臺,它包括硬件(基于微控制器的電路板)和軟件(Arduino IDE)。
    的頭像 發(fā)表于 12-02 14:04 ?1631次閱讀

    HarmonyOS NEXT應(yīng)用元服務(wù)開發(fā)Intents Kit(意圖框架服務(wù))本地搜索方案概述

    用戶感興趣的歌曲,那么后續(xù)用戶小藝搜索入口中搜索歌名時(shí),系統(tǒng)將會在應(yīng)用/元服務(wù)共享的數(shù)據(jù)中檢索對應(yīng)內(nèi)容,并使用卡片的形式展示內(nèi)容結(jié)果,當(dāng)用戶點(diǎn)擊對應(yīng)卡片熱區(qū)時(shí),可以跳轉(zhuǎn)進(jìn)具體音樂播放頁或者直接后臺執(zhí)行
    發(fā)表于 11-06 10:59

    TPA6130A2的寄存器配置正常,也可以正常播放歌曲,但是負(fù)壓只有-2.7左右,為什么?

    TPA6130A2的寄存器配置正常,也可以正常播放歌曲,但是負(fù)壓只有-2.7左右,這是哪里有問題???
    發(fā)表于 10-31 08:25

    TAS5731M播放特定歌曲會立馬打嗝,怎么解決?

    我的板子TAS5731M 播放特定歌曲會立馬打嗝(應(yīng)該是輸出保護(hù)了),斷電重啟后還是在打嗝,必須得重新?lián)Q一片,現(xiàn)在都燒了10來片了,還沒解決。請大家?guī)蛶兔Π。。。。?
    發(fā)表于 10-30 08:32

    TPA3116的輸入端,可以播放音質(zhì)很差,關(guān)閉電源再次電就怎么都沒法播放了,怎么解決?

    按照數(shù)據(jù)手冊畫了個(gè)電路,焊接好后第一次電,通過耳機(jī)線從手機(jī)里輸出信號到TPA3116的輸入端,可以播放,但音質(zhì)很差。關(guān)閉電源再次電就怎么都沒法播放了,F(xiàn)AULTZ腳電平一直
    發(fā)表于 10-30 06:15

    AM335x接TLV320AIC3104然后接外置揚(yáng)聲器,播放歌曲時(shí)沒有聲音輸出是怎么回事?

    AM335x接TLV320AIC3104 然后接外置揚(yáng)聲器。 原理圖如上圖。目前驅(qū)動加載了,播放歌曲時(shí)沒有聲音輸出。但是可以再揚(yáng)聲器接口處監(jiān)測到方波。誰調(diào)試過希望給些建議
    發(fā)表于 10-29 07:17

    開源項(xiàng)目!基于Arduino做的“魷魚游戲”BOSS面具,支持動作檢測

    器,可以播放存儲microSD卡的音頻文件。在這個(gè)項(xiàng)目中,它將在PIR傳感器檢測到運(yùn)動時(shí)播放聲音文件。 將DFPlayer的RX引腳連接到Ard
    發(fā)表于 10-28 10:18

    變速播放器1和2的區(qū)別

    關(guān)于變速播放器1和2的區(qū)別,由于這里并未明確指出“變速播放器1”和“變速播放器2”具體指的是哪兩款軟件,因此我無法提供這兩款特定軟件之間的對比。不過,我可以從一般意義探討變速
    的頭像 發(fā)表于 10-14 09:48 ?672次閱讀

    TM4C12x MCU的數(shù)字音頻播放

    電子發(fā)燒友網(wǎng)站提供《TM4C12x MCU的數(shù)字音頻播放.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 10:37 ?1次下載
    TM4C12x MCU<b class='flag-5'>上</b>的數(shù)字音頻<b class='flag-5'>播放</b>

    開源項(xiàng)目!基于 Arduino DIY 漂亮的宏機(jī)械鍵盤

    10 厘米長的電線,逐一焊接到每個(gè)按鈕的剩余引腳上。為了確保 Arduino 板能夠順利放入鍵盤內(nèi)部,我拆除了原本焊接在 PCB 的跳線連接器。接著,我連接所有開關(guān)的銅線上焊接了一根電線,并將
    發(fā)表于 08-19 17:02

    怎樣Arduino測試鋰電池容量

    本文詳細(xì)介紹了如何用Arduino測量鋰電池的容量。并附有電路圖和Arduino的程序代碼。
    的頭像 發(fā)表于 07-30 09:14 ?1672次閱讀
    <b class='flag-5'>怎樣</b>用<b class='flag-5'>Arduino</b>測試鋰電池容量

    為什么無法nodemcu和arduino mega之間交換數(shù)據(jù)?

    您好,我正在嘗試通過 UART arduino mega 和 nodemcu 之間交換數(shù)據(jù)(使用 arduino IDE 對兩者進(jìn)行編程)。 我將 arduino 的電壓降低到
    發(fā)表于 07-19 12:15