Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
TidalCycles - Haskell meets Music
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
cannorin
October 04, 2019
Technology
1.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TidalCycles - Haskell meets Music
cannorin
October 04, 2019
More Decks by cannorin
See All by cannorin
AltJS を作るなら型変換を入れた方がいい
cannorin
0
1.6k
A Journey to Type-safe Vectors in F#
cannorin
6
11k
Audio Experience is greatly improved in VR: A Worked Example
cannorin
0
1.9k
Making Indian Curries - at Home!
cannorin
2
1.7k
On Space Filling Curves: Its Beauty and Applications
cannorin
0
450
A brief introduction to type inference
cannorin
4
2.7k
Other Decks in Technology
See All in Technology
Active Directory と Entra ID のむむむな関係
murachiakira
PRO
2
1.3k
AI Agent 時代のデータ基盤: ClickHouse で実現する 超高速分析とコスト削減の両立
jozono
0
180
コードレビューをなくして見えたもの
henteko
0
130
公共システムAdventCalendar2026
toru_kubota
0
190
Technical Project Manager の役割とやりがい、少しだけ AI
yoshiiryo1
0
590
生成AI時代のIAMのマニアックな話
takuros
4
910
E2Eってつらくないですか?E2Eの管理コストを下げる手段とその実践
akaboshinit
6
3k
試験勉強はGrokBotでやれ
maigo999
0
110
詳解 never 型 - ボトム型の性質を深掘り
nealle
0
150
`go get`したらELFが降ってきた件
taiyow
0
170
Maestro MCPとClaude Code Skillsによる自律的なE2Eテスト支援
asmz
0
420
リアクションエンジニア ― 小さなリアクションから、話しかけやすい組織をつくる ―
ryuguyana
1
130
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
3
630
Exploring anti-patterns in Rails
aemeredith
4
560
Become a Pro
speakerdeck
PRO
31
6.3k
Optimizing for Happiness
mojombo
378
71k
Six Lessons from altMBA
skipperchong
29
4.6k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
520
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
380
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
590
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
The Invisible Side of Design
smashingmag
301
52k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
970
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
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 実演タイム?