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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
cannorin
October 04, 2019
Technology
0
1.5k
TidalCycles - Haskell meets Music
cannorin
October 04, 2019
Tweet
Share
More Decks by cannorin
See All by cannorin
AltJS を作るなら型変換を入れた方がいい
cannorin
0
1.4k
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
360
A brief introduction to type inference
cannorin
4
2.5k
Other Decks in Technology
See All in Technology
大規模サービスにおける レガシーコードからReactへの移行
magicpod
1
130
DX Improvement at Scale
ntk1000
3
300
Startups on Rails: 2026 at RubyConf Thailand
irinanazarova
0
120
ソフトウェアアーキテクトのための意思決定術: Create Decision Readiness—The Real Skill Behind Architectural Decision
snoozer05
PRO
30
9.1k
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
4
920
Agentic Software Modernization - Back to the Roots (Zürich Agentic Coding and Architectures, März 2026)
feststelltaste
1
170
Exadata Fleet Update
oracle4engineer
PRO
0
1.3k
Shifting from MCP to Skills / ベストプラクティスの変遷を辿る
yamanoku
2
320
ブラックボックス観測に基づくAI支援のプロトコルのリバースエンジニアリングと再現~AIを用いたリバースエンジニアリング~ @ SECCON 14 電脳会議 / Reverse Engineering and Reproduction of an AI-Assisted Protocol Based on Black-Box Observation @ SECCON 14 DENNO-KAIGI
chibiegg
0
140
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
LLM のプロダクト導入における開発の裏側と技術的挑戦
recruitengineers
PRO
1
110
Featured
See All Featured
A Tale of Four Properties
chriscoyier
162
24k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
770
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
430
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.7k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
80
Done Done
chrislema
186
16k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Mobile First: as difficult as doing things right
swwweet
225
10k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
280
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 実演タイム?