【Live Coding】Tidal x VScode 環境設定
TidalCycles是由Alex McLean開發的一種領域特定語言(DSL),經常在Live Coding表演中所使用。
本次操作以Win機作為實例。Linux或Mac使用者可以左轉參考官方文件,或是留下來看看,要如何打造更易於操作Tidal的VScode環境。
首先,我沒有選擇Chocolatey做套件管理,而是手動安裝。
安裝需要一點時間,等待途中可以看看我的其他文章(笑)
如何在Windows安裝TidalCycles?
「以管理員身分」執行Powershell,安裝Haskell
Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; try { Invoke-Command -ScriptBlock ([ScriptBlock]::Create((Invoke-WebRequest https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1 -UseBasicParsing))) -ArgumentList $true } catch { Write-Error $_ }
下載並安裝符合規格的SuperCollider(簡單)
下載SC3 Plugins(簡單)
把解壓縮後的SC3plugins資料夾放進這裡
C:\Users\使用者名\AppData\Local\SuperCollider\Extensions
打開SuperCollider,輸入以下指令後執行(Ctrl + Enter),安裝SuperDirt
Quarks.checkForUpdates({Quarks.install("SuperDirt", "v1.7.3"); thisProcess.recompile()})
再次「以管理員身分」執行Powershell,讓GHC和Cabal的版本都符合Tidal所求
ghcup install ghc 9.6.1
ghcup install cabal 3.10.1.0
ghcup set ghc 9.6.1
ghcup set cabal 3.10.1.0
同樣在Powershell輸入以下指令,安裝TidalCycles
cabal update
cabal v1-install tidal
如何使用VScode操作TidalCycles?
安裝VScode外掛:TidalCycles for VSCode
打開SuperCollider,輸入以下指令後執行(Ctrl + Enter)
SuperDirt.start
新增一個tidal檔(檔名是.tidal)
TidalCycles Sample Code:
d1 $ note "d4 f4 a4 d5" # s "superpiano"
在VScode裡打開tidal檔,執行(Shift + Enter)
覺得太吵可以中斷(Ctrl + Alt + H)
SuperCollider回報錯誤訊息,怎麼辦?
很可能是你的port 57120仍在使用中。這時候可以:
在SuperCollider輸入以下指令後執行(Ctrl + Enter)
Server.killAll
重複「如何使用VScode操作TidalCycles?」的步驟2和步驟4
如何讓我的VScode更易於操作Tidal?
語法突顯
安裝VScode外掛:Haskell Syntax Highlighting
在VScode按下快速打開(Ctrl + P),找到settings.json
在settings.json裡加入以下程式碼
"files.associations": {
"*.tidal": "haskell"
}
我的settings.json目前長這樣:
在VScode按下設定(Ctrl + 逗號),找到Files: Associations
Item輸入*.tidal,Value輸入haskell,按OK
你會發現你的tidal檔有icon了,程式碼有不同顏色了
快速瀏覽音源
在VScode按下設定(Ctrl + 逗號),找到Sounds: Paths
按下Add Item,輸入以下路徑,按OK
C:\Users\使用者名\AppData\Local\SuperCollider\downloaded-quarks\Dirt-Samples
重開VSCode,就可以直接在這裡聆聽或插入音源囉
Tips:在SuperCollider裡執行按Ctrl + Enter,在TidalCycles裡執行按Shift + Enter。
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!