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.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
350
A brief introduction to type inference
cannorin
4
2.5k
Other Decks in Technology
See All in Technology
AIエージェントに必要なのはデータではなく文脈だった/ai-agent-context-graph-mybest
jonnojun
1
660
Claude Codeで実践するスペック駆動開発入門 / sdd-with-claude_code
yoshidashingo
2
2.2k
Agent Skills 入門
puku0x
0
650
AI駆動開発とRAGプロダクトへの挑戦の軌跡 - 弁護士ドットコムでの学びから -
bengo4com
0
380
今、求められるデータエンジニア
waiwai2111
2
920
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
340
歴史に敬意を! パラシュートVPoEが組織と共同で立ち上がる信頼醸成オンボーディング
go0517go
PRO
0
100
30分でわかるアーキテクチャモダナイゼーション
nwiizo
5
2.5k
旅先で iPad + Neovim で iOS 開発・執筆した話
zozotech
PRO
0
370
AITuberKit+Bedrock AgentCoreで作る 3Dキャラクターエージェント
yokomachi
2
360
2026年のAIエージェント構築はどうなる?
minorun365
8
1.3k
#23 Turing × atmaCup 2nd 6th Place Solution + 取り組み方紹介
yumizu
0
150
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
760
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.4k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Abbi's Birthday
coloredviolet
2
4.9k
The Spectacular Lies of Maps
axbom
PRO
1
550
What's in a price? How to price your products and services
michaelherold
247
13k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
110
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 実演タイム?