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 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.1k
How to send distibuted traces to Datadog using build own OpenTelemetry-Lambda distribution
aereal
3
290
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
4.2k
qron: Cloud Native Cron Alternativeの今
aereal
2
2.8k
自動作曲入門 / 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
時間軸から考えるTerraformを使う理由と留意点
fufuhu
9
3.8k
Honoアップデート 2025年夏
yusukebe
1
900
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
0
240
Swift Updates - Learn Languages 2025
koher
1
290
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
140
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
190
tool ディレクティブを導入してみた感想
sgash708
1
160
rage against annotate_predecessor
junk0612
0
160
print("Hello, World")
eddie
1
300
Updates on MLS on Ruby (and maybe more)
sylph01
1
170
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
5
1.2k
The state patternの実践 個人開発で培ったpractice集
miyanokomiya
0
160
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6.1k
Designing for Performance
lara
610
69k
Embracing the Ebb and Flow
colly
87
4.8k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Writing Fast Ruby
sferik
628
62k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
Balancing Empowerment & Direction
lara
3
610
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
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ͱ݁߹ͯ͠Ի໐Β͍ͨ͠ • ટͷੜ → ͠ΐ΅͍͍ͯ͘ͳΒ͙͢ʹͰ͖ͦ͏