Scalaで自動作曲の練習 / A study of automatic composition in Scala

3f4be9784f765877f444bc839de29888?s=47 aereal
September 14, 2017

Scalaで自動作曲の練習 / A study of automatic composition in Scala

3f4be9784f765877f444bc839de29888?s=128

aereal

September 14, 2017
Tweet

Transcript

  1. ScalaͰ
 ࣗಈ࡞ۂͷ࿅श id:aereal

  2. ࠓ೔࿩͢͜ͱɾͶΒ͍ • ݹయతͳ࡞ۂͷϝιουͷ঺հ • ͍ΘΏΔʮΫϥγοΫԻָʯͷ࡞Γํ • ↑ΛScalaͰ࣮૷ͨ͠࿩ • ૉ๿ͳ࣮૷Λఏࣔͯ͠ɺ
 Իָͷߏ଄ɾϧʔϧͷ͓΋͠Ζ͞Λ஌ͬͯ΄͍͠

  3. ࠓ೔࿩͞ͳ͍͜ͱ • ϙϐϡϥʔԻָɾδϟζͳͲΑΓۙ୅తͳԻָͷख๏ • ટ๏ (Ϟʔυ)ɺແௐ • ͦͷଞ͍Ζ͍Ζ͋Δख๏ɾϧʔϧ • ָث๏

    (orchestration) • ͳʹ͔΋ͷ͔͍͍ͬ͘͢͜͝όʔϯͱ΍͍ͬͯΔײ
  4. Ϟνϕʔγϣϯ • WebɾจࣈྻͬΆ͍ϓϩάϥϛϯά͔Β཭ΕͯΈ͍ͨ • ͳΜͱͳ͘ػցֶशͱ਌࿨ੑߴͦ͏ • Scalaॻ͖͍ͨ • ࢥߟΛίʔυʹམͱ͠ࠐΉ࿅श

  5. ࣗಈ࡞ۂͷৄ͍͠ࣄྫ • ͍Ζ͍Ζ࿦จͱ͔͋Δ • ౦ژ᥁ज़େֶͷਓͱ͔͕࿦จΛ͍Ζ͍Ζॻ͍͍ͯΔ • ύοέʔδιϑτ΢ΣΞ΋ച͍ͬͯΔ

  6. github.com/aereal/music-study

  7. ࡞ۂ? • ΋ͷ͘͢͝೉͍͠ͷͰ͸? • ͍͢͝ਓ͕ײੑΛۦ࢖ͯ͠ર͖ͱڞʹΤΠοͱ΍Δ? • ࣗಈ࡞ۂͬͯͳΜ͔΋ͷ͍͢͝ϊΠζ·ΈΕͳͷͰ͸?

  8. ݹయతͳԻָͷߏ੒ཁૉ • ટ཯ (melody) • ࿨੠ (harmony) • ཯ಈ (rhythm)

  9. ݹయతͳԻָͷߏ੒ཁૉ • ͋Δ࣌఺Ͱ໐͍ͬͯΔԻָ = (melody, harmony, rhythm) • Θ͔͖ͬͯͨ

  10. ࿨੠ • ࿨੠͸໐Βͯ͠Α͍Իͷू߹ΛఆΊΔϧʔϧ • → ટ཯΋ӨڹΛड͚Δ • ίΞυϝΠϯͬΆ͍!

  11. ࿨੠ • ໐Βͯ͠Α͍ԻͷϨΠΞ΢τΛܾΊΔϧʔϧ • ਫฏ: ͋ΔԻͷ࣍ʹ໐ͬͯΑ͍Ի͸? • ௐ (key), Ի֊

    (scale) • ਨ௚: ͋ΔԻͱಉ࣌ʹ໐ͬͯΑ͍Ի͸? • = ࿨Ի (chord)
  12. ௐ (key) ͱԻ֊ (scale) • Ի֊: ԻΛԻߴॱʹฒ΂ͨྻ • ྫ: υϨϛϑΝιϥγυ

    • ௐ: த৺Իͱؔ࿈෇͚
  13. ௕Ի֊ (major scale) 2 2 2 2 2 1 1

  14. ୹Ի֊ (minor scale) 2 2 2 2 2 1 1

  15. ͭ·Γ? • Ի֊͸ɺج४ͱͳΔԻͱɺԻͷ਺ͱɺ਺ͷൺ͔ΒͳΔ • →ج४ͱͳΔԻΛ༩͑Ε͹ੜ੒Ͱ͖Δ

  16. ࿨Ի • ҟͳΔߴ͞ͷԻ͕ಉ࣌ʹ໐͍ͬͯΔঢ়ଶ • 3ͭͷԻ͔ΒͳΔࡾ࿨Ի (triad) ͕جຊ

  17. ௕ࡾ࿨Ի (major triad) 4 7

  18. ୹ࡾ࿨Ի (minor triad) 3 7

  19. ͭ·Γ? • ࿨Իͷੑ࣭ = ࿨ԻΛߏ੒͢ΔԻͷൺ • ࠜԻ (root; Ұ൪ԼͷԻ) ͱͷൺͰنఔ͞ΕΔ

    • → ࠜԻͱ࿨Իͷੑ࣭Λ༩͑Δͱੜ੒Ͱ͖Δ
  20. ػೳ࿨੠ • ͬ͘͟Γݴ͏ͱɺݱࡏͷঢ়ଶ͔Β࣍ʹͲͷ࿨Իʹਐߦͯ͠ Α͍͔ఆΊͨϧʔϧू • ࿨ԻͦΕͧΕʹػೳ͕͋Δͱߟ͑ͯɺ
 ͦͷػೳʹΑͬͯ෼ذ͢Δ • ྫ: ͜ͷ࿨Ի͸ۓு͢ΔͷͰΑΓϦϥοΫεͰ͖Δ࿨Ի

    ΁ • ίʔυΛݟ·͢
  21. σϞ

  22. ൓ল • ࠷ॳ͔Βಈ͘ͱ͜Ζ͔Β࡞ΔͱΑ͔ͬͨ…… • ෺ཧతͳͱ͜Ζ (प೾਺) ͔Β࡞͍ͬͯͬͨͷΑ͘ͳ͔ͬ ͨ • ਺஋ͷਫ਼౓……

  23. ࠓޙͷల๬ • Web Audioͱ݁߹ͯ͠Ի໐Β͍ͨ͠ • ટ཯ͷੜ੒ → ͠ΐ΅ͯ͘΋͍͍ͳΒ͙͢ʹͰ͖ͦ͏