女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用 Arduino Nano 創建基于 DCO 的音頻合成器

海闊天空的專欄 ? 來源:Darby Hewitt ? 作者:Darby Hewitt ? 2023-05-03 16:03 ? 次閱讀

在這個項目中,學習使用Arduino Nano或Arduino Uno創建數字控制振蕩器或基于DCO的音頻合成器。

我喜歡音樂,我也喜歡電子。 多年來,我一直在制造音樂電子設備,主要是為我的電吉他演奏服務。 在構建和修改了一些電子管放大器和效果踏板之后,我決定涉足音頻合成領域。 我經常夢想創建自己的Eurorack合成器,一次一個模塊,但對于我的第一個合成器項目,我決定從獨立鍵盤開始。

在這個項目中,我移除了現有的電子設備,并用基于數字控制振蕩器(DCO)的音頻合成器代替了它們,該音頻合成器具有 Arduino Nano
在它的核心。 雖然我使用了Arduino Nano,但 Arduino Uno 也可以使用。 讓我們深入了解如何制作基于 DCO
的合成器。 但是,在走得太遠之前,讓我們先談談振蕩器在合成器中的使用。

振蕩器:任何合成器的心臟

任何合成器的關鍵元素都是其 振蕩器電路。 模擬頻率合成器通常有兩個或多個獨立可控振蕩器。 然而,任何踏入模擬互聯網兔子洞的人 壓控振蕩器 (VCO)
原理圖知道它們通常是復雜和混亂的。 一些雜亂來自可以優雅處理的功能,例如多個控制電壓輸入。 然而,即使最簡單的振蕩器電路被隔離在原理圖中,剩下的仍然會因熱反饋技巧而變得復雜,以保持振蕩器在其組件預熱時保持調諧。

當我考慮創建自己的合成器時,VCO電路的復雜性和混亂一直是我的絆腳石,盡管我喜歡模擬合成,但我無法擺脫其混亂的電子軟肋。 當我對
羅蘭·朱諾系列合成器。

羅蘭的朱諾-6 1982
年上市,作為當時其他復調合成器的更實惠的替代品。 它也是第一個使用DCO而不是傳統VCO的合成器。 與其他產品相比,這大大提高了儀器的調諧穩定性,因為DCO使用數字電路來控制振蕩器模擬信號的頻率。 考慮到這一點,當然,使用DCO而不是VCO肯定需要權衡。 許多人喜歡兩個略微失諧的VCO齊聲演奏的“溫暖”聲音,這很難用基于DCO的合成器來模擬。 但是,調制效果可以應用于來自DCO的干輸出信號,以產生郁郁蔥蔥,優美的聲音。

總體而言,Arduino Uno和Nano開發板的普遍性和低成本,以及這些數字平臺預先配備了16 MHz的事實。 晶體振蕩器,使以便宜的價格創建 DCO
變得非常容易。

使用微控制器定時器模塊創建 DCO

查看數據表以了解任何現代 微控制器,您將在其外圍設備中找到一個計時器模塊。 定時器模塊允許嵌入式設計人員在嵌入式系統的后臺設置一個獨立于
中央處理器(中央處理器)。 此外,定時器模塊可以在多種情況下中斷CPU,例如當它們溢出其計數寄存器或達到某個計數時。 嵌入式設計人員可以配置中斷條件,以滿足其特定應用的需求。

對于這個項目,計時器模塊 ATMega328PArduino
Nano和Uno的大腦充當合成器的DCO。 通過配置定時器模塊的時鐘源和最大計數值,可以在音頻頻率下觸發定時器模塊中斷。 DCO
輸出是通過在這些周期性中斷的中斷服務例程 (ISR) 期間操縱微控制器的 GPIO 引腳來實現的。

在以下部分中,我將討論該項目背后的硬件和軟件設計,然后展示來自這個自制合成器的一些音頻剪輯。

使用 Arduino Nano 的音頻合成器的硬件

在介紹此項目中涉及的不同硬件以及它們如何協同工作之前,表 1 顯示了 BOM(物料清單)。

數量 元件
1 Arduino Nano v3.x
4 470 nF [電容器]
1 2.1 毫米槍管插孔
1 1/4“ 單聲道開關插孔
2 4.7千米 [電阻器]
3 47k 電阻
7 100k 電阻
1 100k 電阻
2 100k [電位計]
1 1 M 電位計
23 單刀雙擲微型瞬時開關
1 開關 [直流-直流轉換器] (5 V 輸出)
1 微片 [MCP23017] I/O 擴展器
1 [LF411] 運算放大器(運算放大器)

接下來,讓我們看一下圖 2 的系統圖,它顯示了該合成器的各部分是如何組合在一起的。

合成器的硬件系統圖。

***圖2. ** 合成器的硬件系統圖。 *

鍵盤部分由 23 個 SPDT 開關組成,每個鍵一個。 其中 16 個密鑰路由到 MCP23017 I/O 擴展器,其余 7 個密鑰直接路由到 Arduino Nano 上的 GPIO 輸入。 然后,MCP23017 通過 Arduino Nano 連接到 Arduino Nano。 I2C.

從這里,Arduino Nano 處理來自鍵盤的輸入,并根據這些按鍵在 D11、D12 和 D10 上生成三個獨立的振蕩器輸出。 Arduino Nano上這些數字引腳的輸出被路由到求和放大器電路中,其原理圖如圖3所示。

求和放大器電路原理圖。

***圖3. ** 求和放大電路原理圖 [點擊圖片放大]。 *

求和放大器包含三個電位計。 它們獨立控制振蕩器 2 和 3 的音量以及儀器的主音量。 放大器電路的輸出直接路由到 1/4“ 單聲道音頻插孔,使其易于直接插入吉他放大器。

為了給這個樂器供電,我使用了一個標準的 2.1 毫米 9 V DC 吉他踏板桶插孔。 此外,來自該插孔的+9 V被路由到小型DC-DC開關電源轉換器,以產生5 V電源連接。 +5 V電源為MCP23017供電。 Arduino通過+9 V電源通過其Vin引腳供電。 運算放大器的V+和V-由桶形插孔的+9 V和接地連接提供,5 V電源用作浮動接地連接運算放大器.

圖4顯示了該系統所有部件的連接方式。

整個系統的原理圖

*圖4. 整個系統的原理圖[點擊圖片放大]。 *

創建音頻合成器的軟件方面

該項目軟件的主要任務是解釋來自鍵盤按鈕的輸入并相應地操作計時器模塊寄存器. 在草圖中的 setup() 函數之前,聲明了幾個全局變量,包括對應于音符的計時器模塊寄存器值的兩個大型 2D 數組。 setup() 函數的過程遵循圖 5 的流程圖,其中僅涉及:

  • 設置 GPIO 輸入和輸出
  • 啟動 I2C 通信
  • 初始化三個計時器模塊
    • 啟用中斷
    • 選擇定時器B模塊的時鐘源作為定時器A的時鐘
  • 啟用全局中斷

該儀器的 Arduino 草圖的 setup() 函數的流程圖。

*圖5. 該儀器的 Arduino 草圖的 setup() 函數的流程圖。 *

表示 Arduino 草圖的 loop() 函數的流程圖如圖 6 所示。

該儀器的 Arduino 草圖的 loop() 函數的流程圖

*圖6. 該儀器的 Arduino 草圖的 loop() 函數的流程圖 [單擊圖像放大]。 *

循環函數執行三個主要任務:

  • 檢測鍵盤上的按下鍵
  • 根據該特定鍵的注釋設置定時器模塊參數
  • 設置柵極變量以允許振蕩器信號轉發到其各自的GPIO引腳

循環功能一次評估一個連接到鍵盤的每個 I/O 端口,直到檢測到按下的按鈕。 端口的評估順序是從鍵盤上的最低音到最高音,這意味著較低的音符實際上具有更高的優先級。 雖然我考慮使用 GPIO 和 I2C 中斷來處理鍵盤按鈕按下,但我最終使用了連續輪詢方法,并且我沒有注意到任何不利的性能。

最后,圖 7 顯示了 ATMega328P 中三個定時器模塊中每個模塊的中斷服務例程。

Arduino Nano的ATMega328P定時器模塊的中斷服務例程流程圖。

***圖7. **Arduino Nano的ATMega328P定時器模塊的中斷服務例程流程圖。 *

如果設置了門變量,則每個 ISR 都會切換其輸出引腳值。 這種切換為每個振蕩器生成音頻輸出。

由此產生的聲音樣本和潛在的增強功能

您可以在下面找到該項目的兩個音頻樣本。 請務必單擊播放按鈕圖像進行播放 - 請注意,音頻將在單獨的窗口中打開和播放。

*聲音剪輯 1. 音頻合成器演示。 *

正如您從第一個音頻樣本中聽到的那樣,該合成器產生漂亮的斯巴達低保真聲音。 該示例首先演示了根音符振蕩器,然后演示了根音符和八度降振,最后演示了根音符、八度降頻程和 7 個半音上升振蕩器。

***聲音剪輯 2. **帶有效果和鼓的音頻合成器演示。 *

第二個樣本通過一些延遲和相位效果展示了合成器,并疊加了多個軌道。 所有的旋律聲音都來自Arduino合成器,但鼓聲來自Roland 808風格的鼓機vst插件。

總而言之,我對這個項目的結果感到興奮,但我確實認為這個基于 Arduino 的合成器可以實現許多潛在的改進。 例如,我想為這個Arduino合成器實現一個USB midi接口。 我還想使用這些方法創建一個可擴展的多邊形合成器。 然而,就目前而言,這個項目已經改造成的玩具外殼是一種有趣的、值得上臺的低保真樂器,具有非常沙礫的低音。

如果您選擇像這樣構建自己的基于 Arduino 的合成器, 在下面的評論中讓我知道 聽起來如何。 祝你好運,繼續制造噪音!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 合成器
    +關注

    關注

    0

    文章

    280

    瀏覽量

    26101
  • Arduino
    +關注

    關注

    188

    文章

    6489

    瀏覽量

    190029
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    合成器

    1、使用反饋有一種設備與振蕩器有關,.稱為合成器。在一些情況下,從普通振蕩器出來的正弦波不夠完美。射頻工程師發現如果振蕩器與其它電路結合起來,利用反饋,可以使正弦波更完美,這就適合成器的功能:一個振
    發表于 12-06 14:06

    什么是頻率合成器

      頻率合成器是利用一個或多個基準頻率,通過各種技術途徑產生一系列的離散頻率信號的設備。這些頻率的穩定度和精度均和基準頻率相同,而且頻率的轉換時間很短,這樣才會有效率和實用價值。  頻率合成器的實現
    發表于 08-19 19:18

    基于Arduino Nano和Mozzi庫驅動的貓主題合成器

    描述貓朋克合成器 V2大家好,歡迎回來,這是我的 Neko Punk 合成器第 2 版,它是一個由 Arduino Nano 和 Mozzi 庫驅動的貓主題
    發表于 06-29 06:39

    基于Arduino Nano構建一個合成器

    描述Arduino 合成器 V3所以這是我的 Arduino Synth V3,它是由 Arduino Nano 驅動的 DIY
    發表于 09-01 07:00

    頻率合成器,頻率合成器原理及作用是什么?

    頻率合成器,頻率合成器原理及作用是什么? 所謂的頻率合成器,就是以一個精確度、穩定度極好的石英晶體振蕩器作為基準頻率,并利用加、減
    發表于 03-23 11:04 ?1.5w次閱讀

    集成鎖相環頻率合成器,什么是集成鎖相環頻率合成器

    集成鎖相環頻率合成器,什么是集成鎖相環頻率合成器 頻率合成的歷史 頻率合成器被人們喻為眾多電子系統
    發表于 03-23 11:45 ?865次閱讀

    Arduino合成器V3設計案例

    電子發燒友網站提供《Arduino合成器V3設計案例.zip》資料免費下載
    發表于 08-11 09:50 ?3次下載
    <b class='flag-5'>Arduino</b><b class='flag-5'>合成器</b>V3設計案例

    Arduino Nano構建一個SN76489 USB MIDI合成器

    電子發燒友網站提供《用Arduino Nano構建一個SN76489 USB MIDI合成器.zip》資料免費下載
    發表于 11-10 14:24 ?3次下載
    用<b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b>構建一個SN76489 USB MIDI<b class='flag-5'>合成器</b>

    Lo Fi Arduino Nano合成器模塊

    電子發燒友網站提供《Lo Fi Arduino Nano合成器模塊.zip》資料免費下載
    發表于 11-16 15:10 ?0次下載
    Lo Fi <b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b><b class='flag-5'>合成器</b>模塊

    基于Arduino的頻率合成器

    方案介紹該項目的主要目標是創建一個代碼,允許無線電愛好者從菜單配置合成器,而無需為特定任務對其進行編程。合成器也可用于帶頻段切換的自制收發器。
    發表于 12-26 15:09 ?2次下載

    如何創建基于DCO音頻合成器

    在此項目中,學習使用 Arduino NanoArduino Uno 創建數控振蕩器或基于 DCO
    的頭像 發表于 04-13 10:04 ?1202次閱讀

    如何制作一個音頻合成器

    合成器電路是能夠使用電子設備產生音頻信號的電路。現代合成器現在非常流行,因為它提供了制作優質音樂的便利性。您可能已經看到一些類似的合成器電路,例如電子鋼琴,MIDI發生器等。該電路可以
    的頭像 發表于 05-13 11:29 ?2489次閱讀
    如何制作一個<b class='flag-5'>音頻</b><b class='flag-5'>合成器</b>?

    Arduino合成器

    電子發燒友網站提供《Arduino合成器.zip》資料免費下載
    發表于 06-29 10:04 ?1次下載
    <b class='flag-5'>Arduino</b><b class='flag-5'>合成器</b>

    帶有PAM8403音頻放大器的更好的Arduino合成器

    電子發燒友網站提供《帶有PAM8403音頻放大器的更好的Arduino合成器.zip》資料免費下載
    發表于 06-30 10:35 ?3次下載
    帶有PAM8403<b class='flag-5'>音頻</b>放大器的更好的<b class='flag-5'>Arduino</b><b class='flag-5'>合成器</b>

    Arduino Atari朋克合成器

    電子發燒友網站提供《Arduino Atari朋克合成器.zip》資料免費下載
    發表于 06-30 11:14 ?1次下載
    <b class='flag-5'>Arduino</b> Atari朋克<b class='flag-5'>合成器</b>