電子發(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)>電子資料下載>電子資料>speakEZ MIDI驅(qū)動程序

speakEZ MIDI驅(qū)動程序

2023-06-16 | zip | 0.00 MB | 次下載 | 免費(fèi)

資料介紹

描述

我喜歡做音樂。但齒輪通常會變大、昂貴、不透明且功能有限。i.MX RT 系列為制造商和制造商提供了將他們自己的靈活合成器應(yīng)用程序制作成小型、廉價和節(jié)能設(shè)備的機(jī)會。

有了 speakEZ、MIDI 控制器、4 美元的 USB 適配器和 MIMXRT1010-EVK,您就擁有了交互式聲碼器合成器應(yīng)用程序的構(gòu)建塊,該應(yīng)用程序?qū)⒅С謩?chuàng)造性的音樂技術(shù)。這只是觸及這些 MCU 的音樂和 DSP 應(yīng)用的表面。

對于那些沒有 MIDI 鍵盤/控制器的人,不要害怕!重置 EVK 時按住用戶按鈕 (SW4),您可以彈奏幾個預(yù)建的和弦來嘗試“機(jī)器人你”的聲音。按相同的開關(guān)改變和弦。

?

speakEZ 包含一個使用 USB 主機(jī) CDC 示例框架的基本 MIDI 驅(qū)動程序。待定更新將包括 MIDI 2.0 類合規(guī)性。該標(biāo)準(zhǔn)剛剛被MIDI 制造商協(xié)會采用。未來的工作在“限制”部分列出。

[更新 2020 年 11 月 13 日:由于我缺乏測試 MIDI 2.0 的硬件,我將在可預(yù)見的將來推遲對該驅(qū)動程序的進(jìn)一步工作。如果您嘗試過此類設(shè)備并認(rèn)為它對開源社區(qū)有價值,請務(wù)必發(fā)表評論!]

特點總結(jié):

  • 波表合成器框架(可選表,全復(fù)音)
  • 用于音頻輸出的耳機(jī)插孔(3.5 毫米 TRS)
  • 帶聲碼器調(diào)制的內(nèi)置麥克風(fēng)
  • USB MIDI 控制器的 USB OTG 連接

使用的 i.MX RT1010 外圍設(shè)備:

  • LPI2C (1x)
  • 賽 (1x)
  • LPUART (1x)
  • GPIO (2x)
  • PIT(周期性中斷定時器)(1x)
  • USB OTG 作為主機(jī) (1x)

術(shù)語

語音編碼器——“語音編碼器”將人聲編碼為頻譜以進(jìn)行壓縮、轉(zhuǎn)換或加密。在音樂中,這種轉(zhuǎn)換后的數(shù)據(jù)可用于調(diào)制帶有語音共振峰的載波波形,使其聽起來好像在“說話”。

共振峰- 口語中區(qū)分元音的頻率成分。忽略一個單詞的基本音高,前三個或四個最響亮的頻率峰值是從“?”或“u”等中識別“uh”的聲音。

MIDI—— “樂器數(shù)字接口”的縮寫,是一種用于發(fā)送和接收電子音頻信號的硬件和通信標(biāo)準(zhǔn)。MIDI 的 USB 解釋是它自己的野獸。在此處查看更多信息。

復(fù)音- 用于描述具有多個同時音高和速度的聲音生成。這轉(zhuǎn)化為鋼琴和弦、歌唱合唱等。

Sibilance - 高頻語音內(nèi)容,可用于識別單詞中的輔音(s、t、f 等)以及識別獨特的人聲。聲碼器很難捕捉到這種能量。

引擎蓋下

首先,更多的背景。音樂聲碼器收聽音頻輸入,通常是人聲,并分析頻率內(nèi)容。它測量不同頻段的聲音強(qiáng)度,形成功率包絡(luò)。這個包絡(luò)本質(zhì)上映射了使每個語音音素聽起來像它的方式的共振峰。換句話說,這是我們用來說話的元音的骨架。

該幅度包絡(luò)用于實時縮放帶通濾波音頻。在這種情況下,帶通載波是自定義波表。縮放這些頻段將聲音傳輸?shù)侥胍娜魏我纛l上,包括MIDI控制的復(fù)音這個過程不擅長轉(zhuǎn)移齒音。為此,我們需要從麥克風(fēng)中提取更高頻率的聲音,并將它們直接與聲碼音頻混合。

借助 MIMXRT1010-EVK 上的 speakEZ,我們使用 WM8960 編解碼器來接收語音音頻并傳輸我們轉(zhuǎn)換后的合成器音頻。

我們的合成器是一個波表合成器,每個 CODEC 樣本更新一次。它使用一個預(yù)先初始化的點數(shù)組,代表我們選擇的波形的單個周期。每次更新合成器時,它都會根據(jù)采樣率和所需的音符在波形中插入適當(dāng)?shù)狞c。這就是一組固定值可以生成任何形狀的任何頻率波的方式!合成器以指定的速度(幅度)對任意數(shù)量的不同鍵進(jìn)行求和。這就是使它成為和弦的原因。

最后,我們使用 MIDI-over-USB。USB OTG 外圍設(shè)備被配置為主機(jī)以接受來自我們的 MIDI 控制器(設(shè)備)的信號。因為傳統(tǒng)的 MIDI 主機(jī)有一個全尺寸的 USB-A 母端口,所以我們需要我們的適配器來連接我們的 OTG 插孔。(當(dāng)然,如果您有一根帶有適當(dāng)末端的電纜,則不需要適配器。)自定義驅(qū)動程序用于接收和解析 MIDI 的批量數(shù)據(jù)包。這是一個簡化的解釋。我鼓勵您探索提供的 usbmidi.h 和 usbmidi.c 文件。

使用說明

警告:如果放大,此軟件可能會產(chǎn)生有害聲音。插入耳機(jī)和打開設(shè)備電源時要小心。進(jìn)入麥克風(fēng)的響亮聲音和削波失真會導(dǎo)致額外的噪音。為了您的安全,請監(jiān)控您對響亮聲音的暴露程度。

一個小小的聲音可以走很長的路。聆聽您的房間聲學(xué)以放置麥克風(fēng)并確定合適的說話音量以達(dá)到預(yù)期的效果。

首先,確保您有 MIMXRT1010-EVK 板(帶有 USB 電纜)和一副耳機(jī)。在https://github.com/wandering-sounds/speakEZ/archive/master.zip下載最新的提交存檔

  • 將您的 EVK 插入您的 PC。Micro-B 端應(yīng)連接到調(diào)試 USB 端口(J41)。
  • 打開 MCUXpresso IDE。在快速啟動面板中選擇“從文件系統(tǒng)導(dǎo)入項目...”。
  • 在“項目存檔 (zip)”下,選擇“瀏覽...”按鈕。找到并選擇您下載的存檔 ZIP。
  • 單擊“下一步”,然后單擊“完成”。speakEZ 項目應(yīng)該出現(xiàn)在 Project Explorer 中。
  • 單擊項目文件夾。然后,單擊頂部欄中的 GUI Flash Tool。
  • 一個窗口應(yīng)顯示 EVK 的調(diào)試探針。選擇“確定”。
  • 在“目標(biāo)操作”>“程序”>“選項”下,找到“要編程的文件”。單擊“工作場所...”按鈕。
  • 找到并雙擊../Release/speakEZ.axf。單擊“運(yùn)行”以刷新芯片。

確保如下圖所示連接您的設(shè)備,然后按下重置開關(guān):

pYYBAGN2_taAE9BvAAD_cqsFO80814.png
speakEZ 的 MIMXRT1010-EVK 連接圖
?

要在沒有 MIDI 控制的情況下嘗試多個演示和弦,請按住用戶按鈕 (SW4),同時按下 POR 引腳復(fù)位 (SW9) 以重新啟動 MCU。這將進(jìn)入無 MIDI 演示。在此模式下,再次按下 SW4 將切換正在播放的活動和弦。任何連接到 OTG 連接器的 USB 設(shè)備都將被忽略。如果您想退出此模式,請自行按下重置開關(guān)以啟用常規(guī)模式。

將 MIDI 控制器的 USB 電纜連接到適配器,然后將適配器連接到 USB OTG 連接器 (J9)。按下鍵盤上的音符將使用 speakEZ 波表合成器播放相應(yīng)的音符。按下多個鍵將同時演奏多個音符。在此模式下按 SW4 將切換正在使用的波表。這些表是:

  • 鋸(默認(rèn),標(biāo)準(zhǔn)聲碼器聲音)
  • 新穎的波形(刺耳,堅韌,適合單音)
  • 正弦(幾乎無聲,用于演示目的)
  • 三角形(比正弦波略厚)

嘗試與聲碼器交互的不同方法。試著對著它說話,然后對著它唱歌。試著過分強(qiáng)調(diào)你的元音。耳語可以產(chǎn)生整潔的效果。

如果您愿意進(jìn)行一些編碼,請嘗試在 speakEZ.h 中編輯帶通中心頻率 (bandpassBiquadF0)、帶寬 (analysisBiquadBWs、ShapingBiquadBWs) 和齒音截止 (kResample_Sibilance_HP)。這些都可以根據(jù)您的需要進(jìn)行更改。我對分析/整形帶使用了對數(shù)間距。如果你讓頻段密度低于 1kHz 會怎樣?如果你添加更多的樂隊呢?我發(fā)現(xiàn)大約 20 個頻段開始導(dǎo)致性能瓶頸。

鋸波從聲碼器產(chǎn)生傳統(tǒng)聲音,這就是為什么它是默認(rèn)音調(diào)。我添加了另一種獨特的波表形狀來測試。為什么不在表庫中添加更多內(nèi)容?充滿諧波的豐富音調(diào)使用聲碼器創(chuàng)造出最有趣的聲音。

限制

  • 即使是簡單的鋸齒波也具有非常高的頻率成分。這些可能會在相對較低的音符上產(chǎn)生混疊,并導(dǎo)致不需要的刺耳聲音。任何消費(fèi)類或?qū)I(yè)產(chǎn)品中使用的波表都應(yīng)該是帶限制的,以防止這種情況發(fā)生,無論是在初始化時還是在運(yùn)行中。
  • 盡管此應(yīng)用程序適用于 MIDI 設(shè)備,但它不包含控制更新或調(diào)制。MIDI 的功能遠(yuǎn)不止這些!今年 MIDI 2.0 發(fā)布時,我打算構(gòu)建一個完整的驅(qū)動程序供我自己使用并相應(yīng)地更新項目存儲庫。[請參閱介紹部分中的相關(guān)更新。]
  • 聲碼器應(yīng)該有一種有效的方法來歸一化包絡(luò)跟隨器以防止出現(xiàn)峰值。也許用便宜的 ADSR 平滑瞬態(tài)最大值。我還沒有找到算法,但那是有可能的。
  • 在可靠的專業(yè)產(chǎn)品中采用這種邏輯將受益于線路電平音頻輸出。應(yīng)刪除此 EVK 上未使用的外圍設(shè)備,并在需要時以更高的成本改進(jìn)組件。
  • 在未使用的引腳上有更多可用的 GPIO 和模擬輸入。定制 PCB 的可能性很多。為什么不添加電位器控制、正交編碼器或外部控制電壓?speakEZ 的核心結(jié)構(gòu)和信號鏈可以通過額外的控制方法來增強(qiáng),所以去嘗試吧!

執(zhí)照

該項目的內(nèi)容在 3-Clause BSD 許可下獲得許可,如下所示:

版權(quán)所有 2020 Brady Etz

版權(quán)所有。

如果滿足以下條件,則允許以源代碼和二進(jìn)制形式重新分發(fā)和使用,無論是否經(jīng)過修改:

1. 源代碼的再分發(fā)必須保留上述版權(quán)聲明、此條件列表和以下免責(zé)聲明。

2. 二進(jìn)制形式的再分發(fā)必須在隨分發(fā)提供的文檔和/或其他材料中復(fù)制上述版權(quán)聲明、此條件列表和以下免責(zé)聲明。

3. 未經(jīng)事先書面許可,不得使用版權(quán)所有者的姓名或其貢獻(xiàn)者的姓名來認(rèn)可或推廣從本軟件衍生的產(chǎn)品。

本軟件由版權(quán)所有者和貢獻(xiàn)者“按原樣”提供,并且不提供任何明示或暗示的保證,包括但不限于對適銷性和特定用途適用性的暗示保證。在任何情況下,版權(quán)所有者或貢獻(xiàn)者均不對任何直接、間接、偶然、特殊、懲戒性或后果性損害(包括但不限于采購替代商品或服務(wù);使用、數(shù)據(jù)或利潤損失;或業(yè)務(wù)中斷),無論是由何種責(zé)任理論引起的,無論是在合同、嚴(yán)格責(zé)任或侵權(quán)行為(包括疏忽或其他方式)中以任何方式使用本軟件引起的,即使已被告知存在此類損害的可能性。


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

評論

查看更多

下載排行

本周

  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元宇宙底層硬件系列報告
  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è)計實例指南
  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電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  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)