Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Scalaで自動作曲の練習 / A study of automatic compositio...
Search
aereal
September 14, 2017
Programming
1
390k
Scalaで自動作曲の練習 / A study of automatic composition in Scala
aereal
September 14, 2017
Tweet
Share
More Decks by aereal
See All by aereal
盆栽転じて家具となる / Bonsai and Furnitures
aereal
0
5.8k
How to send distibuted traces to Datadog using build own OpenTelemetry-Lambda distribution
aereal
3
300
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
4.6k
qron: Cloud Native Cron Alternativeの今
aereal
2
3k
自動作曲入門 / introduction to programatic music composition
aereal
1
530k
はてなブログ タグとCDK / The epic of AWS CDK and Hatena Blog Tag
aereal
2
200k
はてなブログ タグの技術選択 / The technical details of Hatena Blog Tag
aereal
3
200k
ブログサービスのHTTPS化を支えたAWSで作るピタゴラスイッチ / The construction of large scale TLS certificates management system with AWS
aereal
3
400k
AWSではてなブログの常時HTTPS配信をバーンとやる話 / The Epic of migration from HTTP to HTTPS on Hatena Blog with AWS
aereal
14
18k
Other Decks in Programming
See All in Programming
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
3k
関数実行の裏側では何が起きているのか?
minop1205
1
680
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
6
300
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
400
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
6
2.1k
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
700
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
120
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
120
STYLE
koic
0
170
Cell-Based Architecture
larchanjo
0
110
Cap'n Webについて
yusukebe
0
130
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
370
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
94
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
For a Future-Friendly Web
brad_frost
180
10k
How STYLIGHT went responsive
nonsquared
100
6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
Rails Girls Zürich Keynote
gr2m
95
14k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Transcript
ScalaͰ ࣗಈ࡞ۂͷ࿅श id:aereal
ࠓ͢͜ͱɾͶΒ͍ • ݹయతͳ࡞ۂͷϝιουͷհ • ͍ΘΏΔʮΫϥγοΫԻָʯͷ࡞Γํ • ↑ΛScalaͰ࣮ͨ͠ • ૉͳ࣮Λఏࣔͯ͠ɺ Իָͷߏɾϧʔϧͷ͓͠Ζ͞Λͬͯ΄͍͠
ࠓ͞ͳ͍͜ͱ • ϙϐϡϥʔԻָɾδϟζͳͲΑΓۙతͳԻָͷख๏ • ટ๏ (Ϟʔυ)ɺແௐ • ͦͷଞ͍Ζ͍Ζ͋Δख๏ɾϧʔϧ • ָث๏
(orchestration) • ͳʹ͔ͷ͔͍͍ͬ͘͢͜͝όʔϯͱ͍ͬͯΔײ
Ϟνϕʔγϣϯ • WebɾจࣈྻͬΆ͍ϓϩάϥϛϯά͔ΒΕͯΈ͍ͨ • ͳΜͱͳ͘ػցֶशͱੑߴͦ͏ • Scalaॻ͖͍ͨ • ࢥߟΛίʔυʹམͱ͠ࠐΉ࿅श
ࣗಈ࡞ۂͷৄ͍͠ࣄྫ • ͍Ζ͍Ζจͱ͔͋Δ • ౦ژज़େֶͷਓͱ͔͕จΛ͍Ζ͍Ζॻ͍͍ͯΔ • ύοέʔδιϑτΣΞച͍ͬͯΔ
github.com/aereal/music-study
࡞ۂ? • ͷ͍͘͢͝͠ͷͰ? • ͍͢͝ਓ͕ײੑΛۦͯ͠ર͖ͱڞʹΤΠοͱΔ? • ࣗಈ࡞ۂͬͯͳΜ͔ͷ͍͢͝ϊΠζ·ΈΕͳͷͰ?
ݹయతͳԻָͷߏཁૉ • ટ (melody) • (harmony) • ಈ (rhythm)
ݹయతͳԻָͷߏཁૉ • ͋Δ࣌Ͱ໐͍ͬͯΔԻָ = (melody, harmony, rhythm) • Θ͔͖ͬͯͨ
• ໐Βͯ͠Α͍Իͷू߹ΛఆΊΔϧʔϧ • → ટӨڹΛड͚Δ • ίΞυϝΠϯͬΆ͍!
• ໐Βͯ͠Α͍ԻͷϨΠΞτΛܾΊΔϧʔϧ • ਫฏ: ͋ΔԻͷ࣍ʹ໐ͬͯΑ͍Ի? • ௐ (key), Ի֊
(scale) • ਨ: ͋ΔԻͱಉ࣌ʹ໐ͬͯΑ͍Ի? • = Ի (chord)
ௐ (key) ͱԻ֊ (scale) • Ի֊: ԻΛԻߴॱʹฒͨྻ • ྫ: υϨϛϑΝιϥγυ
• ௐ: த৺Իͱؔ࿈͚
Ի֊ (major scale) 2 2 2 2 2 1 1
Ի֊ (minor scale) 2 2 2 2 2 1 1
ͭ·Γ? • Ի֊ɺج४ͱͳΔԻͱɺԻͷͱɺͷൺ͔ΒͳΔ • →ج४ͱͳΔԻΛ༩͑ΕੜͰ͖Δ
Ի • ҟͳΔߴ͞ͷԻ͕ಉ࣌ʹ໐͍ͬͯΔঢ়ଶ • 3ͭͷԻ͔ΒͳΔࡾԻ (triad) ͕جຊ
ࡾԻ (major triad) 4 7
ࡾԻ (minor triad) 3 7
ͭ·Γ? • Իͷੑ࣭ = ԻΛߏ͢ΔԻͷൺ • ࠜԻ (root; Ұ൪ԼͷԻ) ͱͷൺͰنఔ͞ΕΔ
• → ࠜԻͱԻͷੑ࣭Λ༩͑ΔͱੜͰ͖Δ
ػೳ • ͬ͘͟Γݴ͏ͱɺݱࡏͷঢ়ଶ͔Β࣍ʹͲͷԻʹਐߦͯ͠ Α͍͔ఆΊͨϧʔϧू • ԻͦΕͧΕʹػೳ͕͋Δͱߟ͑ͯɺ ͦͷػೳʹΑͬͯذ͢Δ • ྫ: ͜ͷԻۓு͢ΔͷͰΑΓϦϥοΫεͰ͖ΔԻ
• ίʔυΛݟ·͢
σϞ
ল • ࠷ॳ͔Βಈ͘ͱ͜Ζ͔Β࡞ΔͱΑ͔ͬͨ…… • ཧతͳͱ͜Ζ (प) ͔Β࡞͍ͬͯͬͨͷΑ͘ͳ͔ͬ ͨ • ͷਫ਼……
ࠓޙͷల • Web Audioͱ݁߹ͯ͠Ի໐Β͍ͨ͠ • ટͷੜ → ͠ΐ΅͍͍ͯ͘ͳΒ͙͢ʹͰ͖ͦ͏