通過這個項目將 CHIP 變成一個隨時可用的簡單合成器,能夠創建各種各樣的聲音。用 MIDI 鍵盤甚至 OSC 控制它!
作為一名長期的電子音樂愛好者和愛好者,我能夠將任何技術視為聲音的來源。由于芯片具有內置音頻、電池供電功能和方便的 USB 插孔,我知道它可以作為一款出色的小型便攜式交互式噪音盒,并且發出各種出色的聲音。
實現 CHIP-MAS 的第一步是找到一個用于編程合成器的好平臺。有幾種不同的路徑可供選擇:C++ 和音頻框架,如asoundlib 或Jamoma 、python 和Pyo ,一種專業語言,如Faust ,或者,如果你想用樣本做一些簡單的事情,Pygame或Pysound 。我選擇了Pure Data (又名 Pd),這是一個開源、可擴展的圖形編程環境。Pure Data 旨在生成和處理聲音,是快速原型化和創建音樂制作新方式的好方法。
一旦我決定了一個編程環境,就該開發合成器了。我使用了 Pure Data 示例 ( C08.analog.sequencer.pd ) 中一個更有趣但 CPU 使用率較低的示例,因為它有一個有趣的波表合成器和一個音序器。我做了很多工作以使合成器具有更多的聲音多樣性,并集成了一個 MIDI 鍵盤來創建琶音序列。
概述
基本步驟是
啟動芯片
安裝純數據
獲取 Git (repo)
設置合成器以在啟動時啟動
安裝純數據
第一步是安裝 Pure Data 程序。Pure Data 有“extended”和“vanilla”版本。如您所料,“extended”提供了更多功能,但是,我不需要這些附加功能,因此我安裝了“vanilla”。從 CHIP 上的命令行安裝很容易:
sudo apt-get update
s
人類是非常敏感的傾聽者。音樂編程的挑戰之一是從“執行動作”(按下鋼琴鍵盤上的一個鍵)到“聽到聲音”的時間盡可能短。一般這被稱為“延遲”,對于電子音樂制作人和程序員來說,這是一個巨大的妥協話題。
Pure Data 最好為操作系統提供高優先級,并且可以通過一些配置來完成。在 nano 編輯器中編輯配置文檔:
sudo nano /etc/security/limits.conf
添加行的位置:
@audio - rtprio 99
@audio - memlock unlimited
到文件的末尾。現在您可以重新啟動 CHIP 以確保它生效
sudo reboot
為了讓這些東西真正起作用,Pure Data 需要從帶有“實時”標志的 CHIP 終端啟動,如下所示:
pd -rt
如果您想制作自己的合成器或修改我制作的合成器,您可能還想在您的“日常”計算機上安裝 Pure Data應用程序。CHIP 是一臺很棒的計算機,但如果你有一臺速度更快、顯示器分辨率更高的計算機,你可能會發現使用 Pure Data 編程更容易,因為它往往會占用大量屏幕空間。
獲取軟件合成器
轉到您的 Documents 文件夾,然后提取 git repo:
cd ~/Documents
git clone https://github.com/nyboer/CHIPMAS.git
一些合成器細節
如果您對合成器的工作原理感興趣,這里有幾件事值得一提。在制作合成器時,我希望能夠創造出各種各樣的聲音:打擊樂、噪音、明亮、簡單、干凈、激進等等。但是,我不想占用過多量的 CPU。所以我選擇了一個波表合成器設計,它可以掃描不同大小的表,從一個波中產生幾個復雜的波形。之后我創建了一些可以混合的表,產生了很多可能的音色。添加同步低通濾波器、幅度和表掃描包絡,我們就有了一個非常通用的合成器。
所有參數都可以通過Open Sound Control (OSC) 進行控制,這也意味著這款微型合成器是可聯網的。但是針對于這個比較簡單的案例,我準備圍繞一個便宜的 Akai Synth Station 25 鍵盤設計了它。我通過這種方式,可以插入 USB MIDI 控制器,啟動 CHIP,并擁有一個復雜的合成器聲音。
您會注意到本文下方的跳轉 git 存儲庫還有一個名為“graintable.touchosc”的文件,它是適用于 Android 和 iOS的Touch OSC應用程序的文件。它使你可以控制 CHIP-MAS 中的多個參數,以及使用手機運動傳感器控制聲音的選項。
連接控制器
我用 MIDI 鍵盤設計了這個作品。您只需按下一個和弦,音符就會按照您按下琴鍵的順序播放。使用調制和彎音輪更改濾波器截止頻率和波表之間的交叉漸變。如果您使用 Akai Synth Station 25 鍵盤,您可以使用八個按鈕中的六個來更改預設(頂部的按鈕行)或更改速度(向上或向下,以 4 BPM 為增量)。
在啟動 CHIP 之前,您需要連接鍵盤,以便程序可以找到鍵盤。
發出聲音
只需按下鍵盤上的鍵,移動彎音輪和調制輪,能夠發出一些奇怪的聲音。
最終成品
最后,我想把它變成一個完整的項目成果,可以通過一系列步驟使用:插上鍵盤,打開芯片,插上耳機,然后退出。
不過這還挺容易做到的,必要的服務文件包含在 git 存儲庫中。該服務腳本只是告訴 Linux 在特定服務可用后打開我們的合成器補丁。您應該仔細檢查該行:systemd
ExecStart=/usr/bin/pd -nogui -rt /home/chip/Documents/CHIPMAS/CHIPMASsynth.pd
確保 pd 和 CHIP-MASsynth.pd 的絕對路徑是正確的。
將您的目錄更改為您擁有 git 存儲庫的任何位置,然后將存儲庫中的服務文件復制到正確的位置:
sudo cp chipmassynth.service /etc/systemd/system/chipmassynth.service
現在我們需要讓我們systemd知道這項新服務:
sudo systemctl daemon-reload
sudo systemctl enable chipmassynth.service
您可以使用以下命令測試服務:
sudo systemctl start chipmassynth
和
systemctl status chipmassynth
和
sudo systemctl stop chipmassynth
Pure Data 補丁在“pd init”子補丁中有一些特殊信息,確保它可以抓取第一個 MIDI 設備,關閉音頻輸入,并打開第一個音頻輸入(CHIP 的內置音頻)以保證合成芯片啟動后即可播放。
讓 CHIP 獨一無二
CHIP 通過 `avahi` 啟用了“零配置網絡”,但我想充分利用這一點。我周圍有幾個 CHIP,所以如果它們有唯一的名稱會更好。
簡而言之,您需要編輯幾個文件并將“chip”更改為“synth”(或您想要的任何名稱)
sudo nano /etc/hostname
sudo nano /etc/hosts
另外,我在 Mac 上,所以我喜歡添加蘋果服務:
sudo nano /etc/avahi/services/afpd.service
并添加以下內容:
重啟avah:
sudo /etc/init.d/avahi-daemon restart
免密碼登錄
能夠使用 `ssh` 和 `scp` 來控制和復制文件到 CHIP 也很不錯,而無需每次都輸入密碼。
在您的計算機上生成 SSH 密鑰對
ssh-keygen -t rsa
并將其保存到
~/.ssh/id_rsa.pub
將其復制到 CHIP:
scp ~/.ssh/id_rsa.pub chip@:~/
在 CHIP 上,您需要安裝rsync,為 ssh 設置它,然后將公鑰復制到它的授權密鑰文件中:
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
現在,在您的主機上,可以輕松移動所有 PureData 補丁,而無需登錄:
rsync -avzu CHIPMAS/ chip@boer04.local:~/Documents/CHIPMAS
可能的擴展
我很高興在 CHIP 上以如此便宜的價格完成了一個簡單的合成器即使我開始構建一些非常簡單的東西,實際上這個合成器中正在進行相當多的信號計算,因為它同時掃描 4 個波表并混合它們以及噪聲信號,并用包絡對它們進行調制。
即使它沒有經過優化,它仍然只需要大約 25% 的 CHIP 的 cpu。我認為合成器可以被簡化和修復,以關閉那些不被使用的東西。它還可以使用一些過采樣來改善音質,并且可以刪除 CPU 密集度更高但聽起來更好的 Moog 模擬“bob~”濾波器來代替 Pure Data 的“vcf~”。
最后,需要利用 CHIP 的內置網絡。CHIP 非常便宜,在單獨的 CHIP 上運行 6 到 8 個這樣的合成器并通過網絡同步和控制并不是不合理的。
-
合成器
+關注
關注
0文章
273瀏覽量
25356 -
Chip
+關注
關注
1文章
59瀏覽量
26414 -
MIDI
+關注
關注
0文章
75瀏覽量
15658
發布評論請先 登錄
相關推薦
評論