在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

使用 Arduino Nano 創(chuàng)建基于 DCO 的音頻合成器

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

在這個(gè)項(xiàng)目中,學(xué)習(xí)使用Arduino Nano或Arduino Uno創(chuàng)建數(shù)字控制振蕩器或基于DCO的音頻合成器。

我喜歡音樂(lè),我也喜歡電子。 多年來(lái),我一直在制造音樂(lè)電子設(shè)備,主要是為我的電吉他演奏服務(wù)。 在構(gòu)建和修改了一些電子管放大器和效果踏板之后,我決定涉足音頻合成領(lǐng)域。 我經(jīng)常夢(mèng)想創(chuàng)建自己的Eurorack合成器,一次一個(gè)模塊,但對(duì)于我的第一個(gè)合成器項(xiàng)目,我決定從獨(dú)立鍵盤開始。

在這個(gè)項(xiàng)目中,我移除了現(xiàn)有的電子設(shè)備,并用基于數(shù)字控制振蕩器(DCO)的音頻合成器代替了它們,該音頻合成器具有 Arduino Nano
在它的核心。 雖然我使用了Arduino Nano,但 Arduino Uno 也可以使用。 讓我們深入了解如何制作基于 DCO
的合成器。 但是,在走得太遠(yuǎn)之前,讓我們先談?wù)務(wù)袷幤髟诤铣善髦械氖褂谩?/p>

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

任何合成器的關(guān)鍵元素都是其 振蕩器電路。 模擬頻率合成器通常有兩個(gè)或多個(gè)獨(dú)立可控振蕩器。 然而,任何踏入模擬互聯(lián)網(wǎng)兔子洞的人 壓控振蕩器 (VCO)
原理圖知道它們通常是復(fù)雜和混亂的。 一些雜亂來(lái)自可以優(yōu)雅處理的功能,例如多個(gè)控制電壓輸入。 然而,即使最簡(jiǎn)單的振蕩器電路被隔離在原理圖中,剩下的仍然會(huì)因熱反饋技巧而變得復(fù)雜,以保持振蕩器在其組件預(yù)熱時(shí)保持調(diào)諧。

當(dāng)我考慮創(chuàng)建自己的合成器時(shí),VCO電路的復(fù)雜性和混亂一直是我的絆腳石,盡管我喜歡模擬合成,但我無(wú)法擺脫其混亂的電子軟肋。 當(dāng)我對(duì)
羅蘭·朱諾系列合成器。

羅蘭的朱諾-6 1982
年上市,作為當(dāng)時(shí)其他復(fù)調(diào)合成器的更實(shí)惠的替代品。 它也是第一個(gè)使用DCO而不是傳統(tǒng)VCO的合成器。 與其他產(chǎn)品相比,這大大提高了儀器的調(diào)諧穩(wěn)定性,因?yàn)镈CO使用數(shù)字電路來(lái)控制振蕩器模擬信號(hào)的頻率。 考慮到這一點(diǎn),當(dāng)然,使用DCO而不是VCO肯定需要權(quán)衡。 許多人喜歡兩個(gè)略微失諧的VCO齊聲演奏的“溫暖”聲音,這很難用基于DCO的合成器來(lái)模擬。 但是,調(diào)制效果可以應(yīng)用于來(lái)自DCO的干輸出信號(hào),以產(chǎn)生郁郁蔥蔥,優(yōu)美的聲音。

總體而言,Arduino Uno和Nano開發(fā)板的普遍性和低成本,以及這些數(shù)字平臺(tái)預(yù)先配備了16 MHz的事實(shí)。 晶體振蕩器,使以便宜的價(jià)格創(chuàng)建 DCO
變得非常容易。

使用微控制器定時(shí)器模塊創(chuàng)建 DCO

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

對(duì)于這個(gè)項(xiàng)目,計(jì)時(shí)器模塊 ATMega328PArduino
Nano和Uno的大腦充當(dāng)合成器的DCO。 通過(guò)配置定時(shí)器模塊的時(shí)鐘源和最大計(jì)數(shù)值,可以在音頻頻率下觸發(fā)定時(shí)器模塊中斷。 DCO
輸出是通過(guò)在這些周期性中斷的中斷服務(wù)例程 (ISR) 期間操縱微控制器的 GPIO 引腳來(lái)實(shí)現(xiàn)的。

在以下部分中,我將討論該項(xiàng)目背后的硬件和軟件設(shè)計(jì),然后展示來(lái)自這個(gè)自制合成器的一些音頻剪輯。

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

在介紹此項(xiàng)目中涉及的不同硬件以及它們?nèi)绾螀f(xié)同工作之前,表 1 顯示了 BOM(物料清單)。

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

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

合成器的硬件系統(tǒng)圖。

***圖2. ** 合成器的硬件系統(tǒng)圖。 *

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

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

求和放大器電路原理圖。

***圖3. ** 求和放大電路原理圖 [點(diǎn)擊圖片放大]。 *

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

為了給這個(gè)樂(lè)器供電,我使用了一個(gè)標(biāo)準(zhǔn)的 2.1 毫米 9 V DC 吉他踏板桶插孔。 此外,來(lái)自該插孔的+9 V被路由到小型DC-DC開關(guān)電源轉(zhuǎn)換器,以產(chǎn)生5 V電源連接。 +5 V電源為MCP23017供電。 Arduino通過(guò)+9 V電源通過(guò)其Vin引腳供電。 運(yùn)算放大器的V+和V-由桶形插孔的+9 V和接地連接提供,5 V電源用作浮動(dòng)接地連接運(yùn)算放大器.

圖4顯示了該系統(tǒng)所有部件的連接方式。

整個(gè)系統(tǒng)的原理圖

*圖4. 整個(gè)系統(tǒng)的原理圖[點(diǎn)擊圖片放大]。 *

創(chuàng)建音頻合成器的軟件方面

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

  • 設(shè)置 GPIO 輸入和輸出
  • 啟動(dòng) I2C 通信
  • 初始化三個(gè)計(jì)時(shí)器模塊
    • 啟用中斷
    • 選擇定時(shí)器B模塊的時(shí)鐘源作為定時(shí)器A的時(shí)鐘
  • 啟用全局中斷

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

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

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

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

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

循環(huán)函數(shù)執(zhí)行三個(gè)主要任務(wù):

  • 檢測(cè)鍵盤上的按下鍵
  • 根據(jù)該特定鍵的注釋設(shè)置定時(shí)器模塊參數(shù)
  • 設(shè)置柵極變量以允許振蕩器信號(hào)轉(zhuǎn)發(fā)到其各自的GPIO引腳

循環(huán)功能一次評(píng)估一個(gè)連接到鍵盤的每個(gè) I/O 端口,直到檢測(cè)到按下的按鈕。 端口的評(píng)估順序是從鍵盤上的最低音到最高音,這意味著較低的音符實(shí)際上具有更高的優(yōu)先級(jí)。 雖然我考慮使用 GPIO 和 I2C 中斷來(lái)處理鍵盤按鈕按下,但我最終使用了連續(xù)輪詢方法,并且我沒(méi)有注意到任何不利的性能。

最后,圖 7 顯示了 ATMega328P 中三個(gè)定時(shí)器模塊中每個(gè)模塊的中斷服務(wù)例程。

Arduino Nano的ATMega328P定時(shí)器模塊的中斷服務(wù)例程流程圖。

***圖7. **Arduino Nano的ATMega328P定時(shí)器模塊的中斷服務(wù)例程流程圖。 *

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

由此產(chǎn)生的聲音樣本和潛在的增強(qiáng)功能

您可以在下面找到該項(xiàng)目的兩個(gè)音頻樣本。 請(qǐng)務(wù)必單擊播放按鈕圖像進(jìn)行播放 - 請(qǐng)注意,音頻將在單獨(dú)的窗口中打開和播放。

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

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

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

第二個(gè)樣本通過(guò)一些延遲和相位效果展示了合成器,并疊加了多個(gè)軌道。 所有的旋律聲音都來(lái)自Arduino合成器,但鼓聲來(lái)自Roland 808風(fēng)格的鼓機(jī)vst插件。

總而言之,我對(duì)這個(gè)項(xiàng)目的結(jié)果感到興奮,但我確實(shí)認(rèn)為這個(gè)基于 Arduino 的合成器可以實(shí)現(xiàn)許多潛在的改進(jìn)。 例如,我想為這個(gè)Arduino合成器實(shí)現(xiàn)一個(gè)USB midi接口。 我還想使用這些方法創(chuàng)建一個(gè)可擴(kuò)展的多邊形合成器。 然而,就目前而言,這個(gè)項(xiàng)目已經(jīng)改造成的玩具外殼是一種有趣的、值得上臺(tái)的低保真樂(lè)器,具有非常沙礫的低音。

如果您選擇像這樣構(gòu)建自己的基于 Arduino 的合成器, 在下面的評(píng)論中讓我知道 聽起來(lái)如何。 祝你好運(yùn),繼續(xù)制造噪音!

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

    關(guān)注

    0

    文章

    273

    瀏覽量

    25448
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6477

    瀏覽量

    187820
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    合成器

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

    什么是頻率合成器

      頻率合成器是利用一個(gè)或多個(gè)基準(zhǔn)頻率,通過(guò)各種技術(shù)途徑產(chǎn)生一系列的離散頻率信號(hào)的設(shè)備。這些頻率的穩(wěn)定度和精度均和基準(zhǔn)頻率相同,而且頻率的轉(zhuǎn)換時(shí)間很短,這樣才會(huì)有效率和實(shí)用價(jià)值。  頻率合成器的實(shí)現(xiàn)
    發(fā)表于 08-19 19:18

    基于Arduino Nano和Mozzi庫(kù)驅(qū)動(dòng)的貓主題合成器

    描述貓朋克合成器 V2大家好,歡迎回來(lái),這是我的 Neko Punk 合成器第 2 版,它是一個(gè)由 Arduino Nano 和 Mozzi 庫(kù)驅(qū)動(dòng)的貓主題
    發(fā)表于 06-29 06:39

    基于Arduino Nano構(gòu)建一個(gè)合成器

    描述Arduino 合成器 V3所以這是我的 Arduino Synth V3,它是由 Arduino Nano 驅(qū)動(dòng)的 DIY
    發(fā)表于 09-01 07:00

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

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

    集成鎖相環(huán)頻率合成器,什么是集成鎖相環(huán)頻率合成器

    集成鎖相環(huán)頻率合成器,什么是集成鎖相環(huán)頻率合成器 頻率合成的歷史 頻率合成器被人們喻為眾多電子系統(tǒng)
    發(fā)表于 03-23 11:45 ?830次閱讀

    Arduino合成器V3設(shè)計(jì)案例

    電子發(fā)燒友網(wǎng)站提供《Arduino合成器V3設(shè)計(jì)案例.zip》資料免費(fèi)下載
    發(fā)表于 08-11 09:50 ?2次下載
    <b class='flag-5'>Arduino</b><b class='flag-5'>合成器</b>V3設(shè)計(jì)案例

    Arduino Nano構(gòu)建一個(gè)SN76489 USB MIDI合成器

    電子發(fā)燒友網(wǎng)站提供《用Arduino Nano構(gòu)建一個(gè)SN76489 USB MIDI合成器.zip》資料免費(fèi)下載
    發(fā)表于 11-10 14:24 ?2次下載
    用<b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b>構(gòu)建一個(gè)SN76489 USB MIDI<b class='flag-5'>合成器</b>

    Lo Fi Arduino Nano合成器模塊

    電子發(fā)燒友網(wǎng)站提供《Lo Fi Arduino Nano合成器模塊.zip》資料免費(fèi)下載
    發(fā)表于 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的頻率合成器

    方案介紹該項(xiàng)目的主要目標(biāo)是創(chuàng)建一個(gè)代碼,允許無(wú)線電愛(ài)好者從菜單配置合成器,而無(wú)需為特定任務(wù)對(duì)其進(jìn)行編程。合成器也可用于帶頻段切換的自制收發(fā)器。
    發(fā)表于 12-26 15:09 ?2次下載

    如何創(chuàng)建基于DCO音頻合成器

    在此項(xiàng)目中,學(xué)習(xí)使用 Arduino NanoArduino Uno 創(chuàng)建數(shù)控振蕩器或基于 DCO
    的頭像 發(fā)表于 04-13 10:04 ?1029次閱讀

    如何制作一個(gè)音頻合成器

    合成器電路是能夠使用電子設(shè)備產(chǎn)生音頻信號(hào)的電路。現(xiàn)代合成器現(xiàn)在非常流行,因?yàn)樗峁┝酥谱鲀?yōu)質(zhì)音樂(lè)的便利性。您可能已經(jīng)看到一些類似的合成器電路,例如電子鋼琴,MIDI發(fā)生器等。該電路可以
    的頭像 發(fā)表于 05-13 11:29 ?2193次閱讀
    如何制作一個(gè)<b class='flag-5'>音頻</b><b class='flag-5'>合成器</b>?

    Arduino合成器

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

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

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

    Arduino Atari朋克合成器

    電子發(fā)燒友網(wǎng)站提供《Arduino Atari朋克合成器.zip》資料免費(fèi)下載
    發(fā)表于 06-30 11:14 ?0次下載
    <b class='flag-5'>Arduino</b> Atari朋克<b class='flag-5'>合成器</b>
    主站蜘蛛池模板: 好大好硬好长好爽a网站 | 国产乱人视频免费播放 | 免费免播放器在线视频观看 | 四虎在线最新地址4hu | 欧美一级特黄aaaaaa在线看片 | 国产成人教育视频在线观看 | 99国内视频 | 一 级 黄 中国色 片 | 在线天堂中文有限公司 | 国产女人视频免费观看 | 美女黄网站人色视频免费国产 | 在线天堂中文在线网 | 一本到卡二卡三卡免费高 | 亚洲线精品一区二区三区 | 久久国产精品99精品国产987 | 久久久久久久久久久观看 | 老师下面很湿很爽很紧 | 国产精品免费一级在线观看 | 短篇禁伦小说 | 97人摸人人澡人人人超一碰 | 国产高清在线播放免费观看 | 美女一区二区三区 | 日本xxwwwxxxx网站 | 中国日韩欧美中文日韩欧美色 | 一本大道香蕉大vr在线吗视频 | 成年网站在线 | 天天射日日操 | 小草影院亚洲私人影院 | 日日夜夜爽 | 免费观看黄色在线视频 | 视频一区二区不卡 | 被cao到合不拢腿腐男男 | 一区二区视频 | 性8sex亚洲区入口 | 直接观看黄网站免费视频 | 日本三级香港三级三级人!妇久 | 亚洲乱强| 国产亚洲片 | 免费看男女下面日出水视频 | 狠狠se| 7777色鬼xxxx欧美色夫 |