Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TidalCycles - Haskell meets Music
Search
cannorin
October 04, 2019
Technology
0
1.3k
TidalCycles - Haskell meets Music
cannorin
October 04, 2019
Tweet
Share
More Decks by cannorin
See All by cannorin
AltJS を作るなら型変換を入れた方がいい
cannorin
0
1.1k
A Journey to Type-safe Vectors in F#
cannorin
6
11k
Audio Experience is greatly improved in VR: A Worked Example
cannorin
0
1.4k
Making Indian Curries - at Home!
cannorin
2
1.4k
On Space Filling Curves: Its Beauty and Applications
cannorin
0
220
A brief introduction to type inference
cannorin
4
2.2k
Other Decks in Technology
See All in Technology
Oracle Exadata Database Service(Dedicated Infrastructure):サービス概要のご紹介
oracle4engineer
PRO
0
12k
AWSサービスアップデート 2024/12 Part3
nrinetcom
PRO
0
140
EMConf JP の楽しみ方 / How to enjoy EMConf JP
pauli
2
150
「隙間家具OSS」に至る道/Fujiwara Tech Conference 2025
fujiwara3
7
6.5k
embedパッケージを深掘りする / Deep Dive into embed Package in Go
task4233
1
220
商品レコメンドでのexplicit negative feedbackの活用
alpicola
2
370
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
250
カップ麺の待ち時間(3分)でわかるPartyRockアップデート
ryutakondo
0
140
dbtを中心にして組織のアジリティとガバナンスのトレードオンを考えてみた
gappy50
0
290
Godot Engineについて調べてみた
unsoluble_sugar
0
410
My small contributions - Fujiwara Tech Conference 2025
ijin
0
1.5k
2025年に挑戦したいこと
molmolken
0
160
Featured
See All Featured
Writing Fast Ruby
sferik
628
61k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Into the Great Unknown - MozCon
thekraken
34
1.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
3
180
Code Reviewing Like a Champion
maltzj
521
39k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
173
51k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
240
Transcript
VRC-LT #5 TidalCycles - Haskell meets Music cannorin (@cannorin_vrc)
2 誰 Study: 数理論理学, プログラム言語の理論 Job: F# プログラマ in VRC:
VOLT Enthusiast, VRC-LT Speaker (#2~)
3 世は大ライブコーディング時代 ライブコーディング a) 勉強会やプレゼンの一環として,その場でプログラム を書きながら解説などを行うこと. b) シェーダ言語や音響合成言語をリアルタイムで書いて パフォーマンスを行うこと.
4 世は大ライブコーディング時代 • 即興性・ライブ性が強く,作品そのものだけでなくそ れが作られる過程も伝える/楽しむことができる • アーティストのプログラミング学習やプログラマの自己 表現の手段となりうる → VRChat
でやるのにとても向いているのでは????
5 ライブコーディングでキックを鳴らしたい • フレンチコアという音楽ジャンルが大好き • 都合のよいことにプログラミングができる → ライブコーディングでフレンチコアしたい! → でもどうやって……?
6
7 TidalCycles との出会い
8 TidalCycles とは • 今最もアツい音響生成用ライブコーディング環境 • Haskell 上の DSL で実装されている(!)
• エディタから GHCi にコードを送ると TidalCycles が 受 け取り音を鳴らす • バックエンドは SuperCollider (別途インストール)
9 コード例1 -- トラックd1: フレンチコアキック d1 $ sound "909" --
TR-909 のキックを鳴らす # up (-2.5) -- ピッチを下げる # shape 0.92 -- ディストーションでぶっとくする # lpf 5000 -- 5000Hz 以上の音を切る
10 コード例2 -- トラックd2: オフビートのベース d2 $ n “[ ~
c ]*2” -- オフビートに鳴らす (~は休符) # sound "supersaw" -- ノコギリ波を鳴らす # crush 4 -- ビットクラッシャーにかける # up (-30) -- ピッチめちゃくちゃ下げる # shape 0.6 -- ぶっとくする # gain 1.15 -- ゲインを調整 # resonance 0 -- ローパスフィルタのクセをなくす # cut 2 -- 音が被らないようにする (2はID)
11 実演タイム?