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
1.5k
0
Share
TidalCycles - Haskell meets Music
cannorin
October 04, 2019
More Decks by cannorin
See All by cannorin
AltJS を作るなら型変換を入れた方がいい
cannorin
0
1.5k
A Journey to Type-safe Vectors in F#
cannorin
6
11k
Audio Experience is greatly improved in VR: A Worked Example
cannorin
0
1.7k
Making Indian Curries - at Home!
cannorin
2
1.5k
On Space Filling Curves: Its Beauty and Applications
cannorin
0
370
A brief introduction to type inference
cannorin
4
2.5k
Other Decks in Technology
See All in Technology
20260428_Product Management Summit_tadokoroyoshiro
tadokoro_yoshiro
8
9.8k
AzureのIaC管理からログ調査まで、随所に役立つSkillsとCustom-Instructions / Boosting IaC and Log Analysis with Skills
aeonpeople
0
240
AI駆動1on1〜AIに自分を育ててもらう〜
yoshiakiyasuda
0
130
AgentCore Managed Harness を使ってみよう
yakumo
2
120
UIライブラリに依存しすぎないReact Native設計を目指して
grandbig
0
110
Standards et agents IA : un tour d’horizon de MCP, A2A, ADK et plus encore
glaforge
0
190
Microsoft 365 / Microsoft 365 Copilot : 自分の状態を確認する「ラベル」について
taichinakamura
0
320
はじめての MagicPod生成AI機能 機能紹介から活用方法まで
magicpod
0
110
バイブコーディングで3倍早く⚪⚪を作ってみた
samakada
0
110
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
230
AIはハッカーを減らすのか、増やすのか?──現役ホワイトハッカーから見るAI時代のリアル【MEGU-Meet】
cscengineer
0
190
Pure Intonation on Browser: Building a Sequencer with Ruby
nagachika
0
150
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
260
For a Future-Friendly Web
brad_frost
183
10k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
150
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
510
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
WENDY [Excerpt]
tessaabrams
10
37k
Google's AI Overviews - The New Search
badams
0
980
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Music & Morning Musume
bryan
47
7.2k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
280
Test your architecture with Archunit
thirion
1
2.2k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
140
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 実演タイム?