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
Scalaで自動作曲の練習 / A study of automatic composition in Scala
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
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
1.5k
qron: Cloud Native Cron Alternativeの今
aereal
2
1.5k
自動作曲入門 / introduction to programatic music composition
aereal
1
530k
はてなブログ タグとCDK / The epic of AWS CDK and Hatena Blog Tag
aereal
3
200k
はてなブログ タグの技術選択 / The technical details of Hatena Blog Tag
aereal
3
190k
ブログサービスのHTTPS化を支えたAWSで作るピタゴラスイッチ / The construction of large scale TLS certificates management system with AWS
aereal
3
390k
AWSではてなブログの常時HTTPS配信をバーンとやる話 / The Epic of migration from HTTP to HTTPS on Hatena Blog with AWS
aereal
14
17k
ScalaとPerlでMicroservices in production / Building microservices with Perl and Scala in production
aereal
0
5.2k
Goで実装する軽量マークアップ言語パーサー / Gohn: parser written in Go
aereal
3
3.6k
Other Decks in Programming
See All in Programming
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
840
2 週間で Twitter Bot を作ってみた
contour_gara
0
590
Elm 0.19.0 Changes
bkuhlmann
0
490
Ruby Pattern Matching
bkuhlmann
0
930
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
150
Ruby GitHub Packages
bkuhlmann
0
630
Let's learn code review
riofujimon
2
440
Goのエラースタックトレースの歴史と今後
sonatard
9
1.5k
AWS Application Composerで始める、 サーバーレスなデータ基盤構築 / 20240406-jawsug-hokuriku-shinkansen
kasacchiful
1
260
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
1.1k
Site Reliability Engineering for GMO
pyama86
8
1k
Elm Form Validation
bkuhlmann
0
510
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
For a Future-Friendly Web
brad_frost
172
9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
14
1.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
20
1.9k
A Tale of Four Properties
chriscoyier
151
22k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
2
1.3k
We Have a Design System, Now What?
morganepeng
43
6.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
7
1k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
Build The Right Thing And Hit Your Dates
maggiecrowley
24
2k
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ͱ݁߹ͯ͠Ի໐Β͍ͨ͠ • ટͷੜ → ͠ΐ΅͍͍ͯ͘ͳΒ͙͢ʹͰ͖ͦ͏