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

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

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

制作MIDI琶音合成器的教程分享

科技觀察員 ? 來(lái)源:Peter Nyboer ? 作者:Peter Nyboer ? 2022-08-30 17:12 ? 次閱讀

通過(guò)這個(gè)項(xiàng)目將 CHIP 變成一個(gè)隨時(shí)可用的簡(jiǎn)單合成器,能夠創(chuàng)建各種各樣的聲音。用 MIDI 鍵盤(pán)甚至 OSC 控制它!

作為一名長(zhǎng)期的電子音樂(lè)愛(ài)好者和愛(ài)好者,我能夠?qū)⑷魏渭夹g(shù)視為聲音的來(lái)源。由于芯片具有內(nèi)置音頻、電池供電功能和方便的 USB 插孔,我知道它可以作為一款出色的小型便攜式交互式噪音盒,并且發(fā)出各種出色的聲音。

實(shí)現(xiàn) CHIP-MAS 的第一步是找到一個(gè)用于編程合成器的好平臺(tái)。有幾種不同的路徑可供選擇:C++ 和音頻框架,如asoundlib 或Jamoma 、python 和Pyo ,一種專業(yè)語(yǔ)言,如Faust ,或者,如果你想用樣本做一些簡(jiǎn)單的事情,Pygame或Pysound 。我選擇了Pure Data (又名 Pd),這是一個(gè)開(kāi)源、可擴(kuò)展的圖形編程環(huán)境。Pure Data 旨在生成和處理聲音,是快速原型化和創(chuàng)建音樂(lè)制作新方式的好方法。

一旦我決定了一個(gè)編程環(huán)境,就該開(kāi)發(fā)合成器了。我使用了 Pure Data 示例 ( C08.analog.sequencer.pd ) 中一個(gè)更有趣但 CPU 使用率較低的示例,因?yàn)樗幸粋€(gè)有趣的波表合成器和一個(gè)音序器。我做了很多工作以使合成器具有更多的聲音多樣性,并集成了一個(gè) MIDI 鍵盤(pán)來(lái)創(chuàng)建琶音序列。

概述

基本步驟是

啟動(dòng)芯片

安裝純數(shù)據(jù)

獲取 Git (repo)

設(shè)置合成器以在啟動(dòng)時(shí)啟動(dòng)

安裝純數(shù)據(jù)

第一步是安裝 Pure Data 程序。Pure Data 有“extended”和“vanilla”版本。如您所料,“extended”提供了更多功能,但是,我不需要這些附加功能,因此我安裝了“vanilla”。從 CHIP 上的命令行安裝很容易:

sudo apt-get update

s

人類是非常敏感的傾聽(tīng)者。音樂(lè)編程的挑戰(zhàn)之一是從“執(zhí)行動(dòng)作”(按下鋼琴鍵盤(pán)上的一個(gè)鍵)到“聽(tīng)到聲音”的時(shí)間盡可能短。一般這被稱為“延遲”,對(duì)于電子音樂(lè)制作人和程序員來(lái)說(shuō),這是一個(gè)巨大的妥協(xié)話題

Pure Data 最好為操作系統(tǒng)提供高優(yōu)先級(jí),并且可以通過(guò)一些配置來(lái)完成。在 nano 編輯器中編輯配置文檔:

sudo nano /etc/security/limits.conf

添加行的位置:

@audio - rtprio 99

@audio - memlock unlimited

到文件的末尾。現(xiàn)在您可以重新啟動(dòng) CHIP 以確保它生效

sudo reboot

為了讓這些東西真正起作用,Pure Data 需要從帶有“實(shí)時(shí)”標(biāo)志的 CHIP 終端啟動(dòng),如下所示:

pd -rt

如果您想制作自己的合成器或修改我制作的合成器,您可能還想在您的“日常”計(jì)算機(jī)上安裝 Pure Data應(yīng)用程序。CHIP 是一臺(tái)很棒的計(jì)算機(jī),但如果你有一臺(tái)速度更快、顯示器分辨率更高的計(jì)算機(jī),你可能會(huì)發(fā)現(xiàn)使用 Pure Data 編程更容易,因?yàn)樗鶗?huì)占用大量屏幕空間。

獲取軟件合成器

轉(zhuǎn)到您的 Documents 文件夾,然后提取 git repo:

cd ~/Documents

git clone https://github.com/nyboer/CHIPMAS.git

一些合成器細(xì)節(jié)

如果您對(duì)合成器的工作原理感興趣,這里有幾件事值得一提。在制作合成器時(shí),我希望能夠創(chuàng)造出各種各樣的聲音:打擊樂(lè)、噪音、明亮、簡(jiǎn)單、干凈、激進(jìn)等等。但是,我不想占用過(guò)多量的 CPU。所以我選擇了一個(gè)波表合成器設(shè)計(jì),它可以掃描不同大小的表,從一個(gè)波中產(chǎn)生幾個(gè)復(fù)雜的波形。之后我創(chuàng)建了一些可以混合的表,產(chǎn)生了很多可能的音色。添加同步低通濾波器、幅度和表掃描包絡(luò),我們就有了一個(gè)非常通用的合成器。

pYYBAGMN086AX17HAAIAM5nrHKU062.png

所有參數(shù)都可以通過(guò)Open Sound Control (OSC) 進(jìn)行控制,這也意味著這款微型合成器是可聯(lián)網(wǎng)的。但是針對(duì)于這個(gè)比較簡(jiǎn)單的案例,我準(zhǔn)備圍繞一個(gè)便宜的 Akai Synth Station 25 鍵盤(pán)設(shè)計(jì)了它。我通過(guò)這種方式,可以插入 USB MIDI 控制器,啟動(dòng) CHIP,并擁有一個(gè)復(fù)雜的合成器聲音。

您會(huì)注意到本文下方的跳轉(zhuǎn) git 存儲(chǔ)庫(kù)還有一個(gè)名為“graintable.touchosc”的文件,它是適用于 AndroidiOS的Touch OSC應(yīng)用程序的文件。它使你可以控制 CHIP-MAS 中的多個(gè)參數(shù),以及使用手機(jī)運(yùn)動(dòng)傳感器控制聲音的選項(xiàng)。

連接控制器

poYBAGMN09SATvTeAAIg2kGlR_4367.png

我用 MIDI 鍵盤(pán)設(shè)計(jì)了這個(gè)作品。您只需按下一個(gè)和弦,音符就會(huì)按照您按下琴鍵的順序播放。使用調(diào)制和彎音輪更改濾波器截止頻率和波表之間的交叉漸變。如果您使用 Akai Synth Station 25 鍵盤(pán),您可以使用八個(gè)按鈕中的六個(gè)來(lái)更改預(yù)設(shè)(頂部的按鈕行)或更改速度(向上或向下,以 4 BPM 為增量)。

在啟動(dòng) CHIP 之前,您需要連接鍵盤(pán),以便程序可以找到鍵盤(pán)。

發(fā)出聲音

只需按下鍵盤(pán)上的鍵,移動(dòng)彎音輪和調(diào)制輪,能夠發(fā)出一些奇怪的聲音。

最終成品

pYYBAGMN09mAVhvjAAMboJG_Gc0016.png

最后,我想把它變成一個(gè)完整的項(xiàng)目成果,可以通過(guò)一系列步驟使用:插上鍵盤(pán),打開(kāi)芯片,插上耳機(jī),然后退出。

不過(guò)這還挺容易做到的,必要的服務(wù)文件包含在 git 存儲(chǔ)庫(kù)中。該服務(wù)腳本只是告訴 Linux 在特定服務(wù)可用后打開(kāi)我們的合成器補(bǔ)丁。您應(yīng)該仔細(xì)檢查該行:systemd

ExecStart=/usr/bin/pd -nogui -rt /home/chip/Documents/CHIPMAS/CHIPMASsynth.pd

確保 pd 和 CHIP-MASsynth.pd 的絕對(duì)路徑是正確的。

將您的目錄更改為您擁有 git 存儲(chǔ)庫(kù)的任何位置,然后將存儲(chǔ)庫(kù)中的服務(wù)文件復(fù)制到正確的位置:

sudo cp chipmassynth.service /etc/systemd/system/chipmassynth.service

現(xiàn)在我們需要讓我們systemd知道這項(xiàng)新服務(wù):

sudo systemctl daemon-reload

sudo systemctl enable chipmassynth.service

您可以使用以下命令測(cè)試服務(wù):

sudo systemctl start chipmassynth

systemctl status chipmassynth

sudo systemctl stop chipmassynth

Pure Data 補(bǔ)丁在“pd init”子補(bǔ)丁中有一些特殊信息,確保它可以抓取第一個(gè) MIDI 設(shè)備,關(guān)閉音頻輸入,并打開(kāi)第一個(gè)音頻輸入(CHIP 的內(nèi)置音頻)以保證合成芯片啟動(dòng)后即可播放。

讓 CHIP 獨(dú)一無(wú)二

CHIP 通過(guò) `avahi` 啟用了“零配置網(wǎng)絡(luò)”,但我想充分利用這一點(diǎn)。我周圍有幾個(gè) CHIP,所以如果它們有唯一的名稱會(huì)更好。

簡(jiǎn)而言之,您需要編輯幾個(gè)文件并將“chip”更改為“synth”(或您想要的任何名稱)

sudo nano /etc/hostname

sudo nano /etc/hosts

另外,我在 Mac 上,所以我喜歡添加蘋(píng)果服務(wù):

sudo nano /etc/avahi/services/afpd.service

并添加以下內(nèi)容:

重啟avah:

sudo /etc/init.d/avahi-daemon restart

免密碼登錄

能夠使用 `ssh` 和 `scp` 來(lái)控制和復(fù)制文件到 CHIP 也很不錯(cuò),而無(wú)需每次都輸入密碼。

在您的計(jì)算機(jī)上生成 SSH 密鑰對(duì)

ssh-keygen -t rsa

并將其保存到

~/.ssh/id_rsa.pub

將其復(fù)制到 CHIP:

scp ~/.ssh/id_rsa.pub chip@:~/

在 CHIP 上,您需要安裝rsync,為 ssh 設(shè)置它,然后將公鑰復(fù)制到它的授權(quán)密鑰文件中:

cd ~/

sudo apt-get install rsync

mkdir .ssh

cat id_rsa.pub 》》 .ssh/authorized_keys

rm id_rsa.pub

chmod go-w ~

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

現(xiàn)在,在您的主機(jī)上,可以輕松移動(dòng)所有 PureData 補(bǔ)丁,而無(wú)需登錄:

rsync -avzu CHIPMAS/ chip@boer04.local:~/Documents/CHIPMAS

可能的擴(kuò)展

我很高興在 CHIP 上以如此便宜的價(jià)格完成了一個(gè)簡(jiǎn)單的合成器即使我開(kāi)始構(gòu)建一些非常簡(jiǎn)單的東西,實(shí)際上這個(gè)合成器中正在進(jìn)行相當(dāng)多的信號(hào)計(jì)算,因?yàn)樗瑫r(shí)掃描 4 個(gè)波表并混合它們以及噪聲信號(hào),并用包絡(luò)對(duì)它們進(jìn)行調(diào)制。

即使它沒(méi)有經(jīng)過(guò)優(yōu)化,它仍然只需要大約 25% 的 CHIP 的 cpu。我認(rèn)為合成器可以被簡(jiǎn)化和修復(fù),以關(guān)閉那些不被使用的東西。它還可以使用一些過(guò)采樣來(lái)改善音質(zhì),并且可以刪除 CPU 密集度更高但聽(tīng)起來(lái)更好的 Moog 模擬“bob~”濾波器來(lái)代替 Pure Data 的“vcf~”。

最后,需要利用 CHIP 的內(nèi)置網(wǎng)絡(luò)。CHIP 非常便宜,在單獨(dú)的 CHIP 上運(yùn)行 6 到 8 個(gè)這樣的合成器并通過(guò)網(wǎng)絡(luò)同步和控制并不是不合理的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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

    文章

    267

    瀏覽量

    25316
  • Chip
    +關(guān)注

    關(guān)注

    1

    文章

    59

    瀏覽量

    26384
  • MIDI
    +關(guān)注

    關(guān)注

    0

    文章

    75

    瀏覽量

    15606
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    用DDS制作數(shù)控信號(hào)合成器

    用DDS制作數(shù)控信號(hào)合成器
    發(fā)表于 11-04 21:52

    合成器

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

    校正基于STM32的MIDI合成器的音符頻率

    我最近在研究EasyMXPro for STM32 dev,正在嘗試使用DAC創(chuàng)建一個(gè)簡(jiǎn)單的單聲道波表合成器,可播放的通道。但是,我有一個(gè)MIDI鍵盤(pán),我有以下問(wèn)題:我有一個(gè)循環(huán)遍歷波表值(以MCU
    發(fā)表于 09-27 14:39

    什么是頻率合成器

      頻率合成器是利用一個(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

    鎖相環(huán)頻率合成器是什么原理?

    頻率合成器的主要性能指標(biāo)鎖相環(huán)頻率合成器原理鎖相環(huán)頻率合成器捕捉過(guò)程的分析與仿真
    發(fā)表于 04-22 06:27

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

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

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

    單環(huán)鎖相頻率合成器,單環(huán)鎖相頻率合成器是什么意思 頻率合成的歷史 頻率合成器被人們喻為眾多電子系統(tǒng)的“心臟”?,F(xiàn)代戰(zhàn)爭(zhēng)是
    發(fā)表于 03-23 11:36 ?1002次閱讀

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

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

    模擬單音電子管合成器CHRT

    CHRT 合成器是一個(gè)真正的模擬單音電子管合成器,主要是針對(duì) MIDI 吹管控制器比如 Yamaha WX5 或 Akai EWI 的聲音模塊而設(shè)計(jì)的,不過(guò)固件變化版本也可以讓它作為鍵盤(pán)演奏者的聲音模塊。
    的頭像 發(fā)表于 04-16 14:23 ?5178次閱讀

    FuniFi Midistik是用于合成器的緊湊型可編程MIDI控制器

    電子發(fā)燒友網(wǎng)站提供《FuniFi Midistik是用于合成器的緊湊型可編程MIDI控制器.zip》資料免費(fèi)下載
    發(fā)表于 08-16 11:10 ?0次下載
    FuniFi Midistik是用于<b class='flag-5'>合成器</b>的緊湊型可編程<b class='flag-5'>MIDI</b>控制器

    用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 ?0次下載
    用Arduino Nano構(gòu)建一個(gè)SN76489 USB <b class='flag-5'>MIDI</b><b class='flag-5'>合成器</b>

    用于整桶FB3100合成器的大型MIDI控制器

    電子發(fā)燒友網(wǎng)站提供《用于整桶FB3100合成器的大型MIDI控制器.zip》資料免費(fèi)下載
    發(fā)表于 11-16 11:46 ?0次下載
    用于整桶FB3100<b class='flag-5'>合成器</b>的大型<b class='flag-5'>MIDI</b>控制器

    基于Arduino的MIDI音序器Cthulhinho

    面向現(xiàn)場(chǎng)性能的音序器/器,用于多個(gè)合成器控制。 Cthulhinho是一個(gè)基于Arduino的MIDI音序器,用于多個(gè)設(shè)備,主要用于現(xiàn)場(chǎng)表演。我的想法是創(chuàng)造一種設(shè)備,讓我的手
    發(fā)表于 12-02 16:05 ?0次下載

    pll頻率合成器工作原理與pll頻率合成器的原理圖解釋

    pll頻率合成器工作原理與pll頻率合成器的原理圖解釋 我們要搞清楚pll頻率合成器工作原理與pll頻率合成器的原理圖就要先搞清楚pll和頻率合成器
    的頭像 發(fā)表于 02-24 18:19 ?9452次閱讀
    pll頻率<b class='flag-5'>合成器</b>工作原理與pll頻率<b class='flag-5'>合成器</b>的原理圖解釋

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

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