Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

aereal
September 14, 2017

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

aereal

September 14, 2017
Tweet

More Decks by aereal

Other Decks in Programming

Transcript

  1. ScalaͰ

    ࣗಈ࡞ۂͷ࿅श
    id:aereal

    View Slide

  2. ࠓ೔࿩͢͜ͱɾͶΒ͍
    • ݹయతͳ࡞ۂͷϝιουͷ঺հ

    • ͍ΘΏΔʮΫϥγοΫԻָʯͷ࡞Γํ

    • ↑ΛScalaͰ࣮૷ͨ͠࿩

    • ૉ๿ͳ࣮૷Λఏࣔͯ͠ɺ

    Իָͷߏ଄ɾϧʔϧͷ͓΋͠Ζ͞Λ஌ͬͯ΄͍͠

    View Slide

  3. ࠓ೔࿩͞ͳ͍͜ͱ
    • ϙϐϡϥʔԻָɾδϟζͳͲΑΓۙ୅తͳԻָͷख๏

    • ટ๏ (Ϟʔυ)ɺແௐ

    • ͦͷଞ͍Ζ͍Ζ͋Δख๏ɾϧʔϧ

    • ָث๏ (orchestration)

    • ͳʹ͔΋ͷ͔͍͍ͬ͘͢͜͝όʔϯͱ΍͍ͬͯΔײ

    View Slide

  4. Ϟνϕʔγϣϯ
    • WebɾจࣈྻͬΆ͍ϓϩάϥϛϯά͔Β཭ΕͯΈ͍ͨ

    • ͳΜͱͳ͘ػցֶशͱ਌࿨ੑߴͦ͏

    • Scalaॻ͖͍ͨ

    • ࢥߟΛίʔυʹམͱ͠ࠐΉ࿅श

    View Slide

  5. ࣗಈ࡞ۂͷৄ͍͠ࣄྫ
    • ͍Ζ͍Ζ࿦จͱ͔͋Δ

    • ౦ژ᥁ज़େֶͷਓͱ͔͕࿦จΛ͍Ζ͍Ζॻ͍͍ͯΔ

    • ύοέʔδιϑτ΢ΣΞ΋ച͍ͬͯΔ

    View Slide

  6. github.com/aereal/music-study

    View Slide

  7. ࡞ۂ?
    • ΋ͷ͘͢͝೉͍͠ͷͰ͸?

    • ͍͢͝ਓ͕ײੑΛۦ࢖ͯ͠ર͖ͱڞʹΤΠοͱ΍Δ?

    • ࣗಈ࡞ۂͬͯͳΜ͔΋ͷ͍͢͝ϊΠζ·ΈΕͳͷͰ͸?

    View Slide

  8. ݹయతͳԻָͷߏ੒ཁૉ
    • ટ཯ (melody)

    • ࿨੠ (harmony)

    • ཯ಈ (rhythm)

    View Slide

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

    • Θ͔͖ͬͯͨ

    View Slide

  10. ࿨੠
    • ࿨੠͸໐Βͯ͠Α͍Իͷू߹ΛఆΊΔϧʔϧ

    • → ટ཯΋ӨڹΛड͚Δ

    • ίΞυϝΠϯͬΆ͍!

    View Slide

  11. ࿨੠
    • ໐Βͯ͠Α͍ԻͷϨΠΞ΢τΛܾΊΔϧʔϧ

    • ਫฏ: ͋ΔԻͷ࣍ʹ໐ͬͯΑ͍Ի͸?

    • ௐ (key), Ի֊ (scale)

    • ਨ௚: ͋ΔԻͱಉ࣌ʹ໐ͬͯΑ͍Ի͸?

    • = ࿨Ի (chord)

    View Slide

  12. ௐ (key) ͱԻ֊ (scale)
    • Ի֊: ԻΛԻߴॱʹฒ΂ͨྻ

    • ྫ: υϨϛϑΝιϥγυ

    • ௐ: த৺Իͱؔ࿈෇͚

    View Slide

  13. ௕Ի֊ (major scale)
    2 2 2 2 2
    1 1

    View Slide

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

    View Slide

  15. ͭ·Γ?
    • Ի֊͸ɺج४ͱͳΔԻͱɺԻͷ਺ͱɺ਺ͷൺ͔ΒͳΔ

    • →ج४ͱͳΔԻΛ༩͑Ε͹ੜ੒Ͱ͖Δ

    View Slide

  16. ࿨Ի
    • ҟͳΔߴ͞ͷԻ͕ಉ࣌ʹ໐͍ͬͯΔঢ়ଶ

    • 3ͭͷԻ͔ΒͳΔࡾ࿨Ի (triad) ͕جຊ

    View Slide

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

    View Slide

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

    View Slide

  19. ͭ·Γ?
    • ࿨Իͷੑ࣭ = ࿨ԻΛߏ੒͢ΔԻͷൺ

    • ࠜԻ (root; Ұ൪ԼͷԻ) ͱͷൺͰنఔ͞ΕΔ

    • → ࠜԻͱ࿨Իͷੑ࣭Λ༩͑Δͱੜ੒Ͱ͖Δ

    View Slide

  20. ػೳ࿨੠
    • ͬ͘͟Γݴ͏ͱɺݱࡏͷঢ়ଶ͔Β࣍ʹͲͷ࿨Իʹਐߦͯ͠
    Α͍͔ఆΊͨϧʔϧू

    • ࿨ԻͦΕͧΕʹػೳ͕͋Δͱߟ͑ͯɺ

    ͦͷػೳʹΑͬͯ෼ذ͢Δ

    • ྫ: ͜ͷ࿨Ի͸ۓு͢ΔͷͰΑΓϦϥοΫεͰ͖Δ࿨Ի
    ΁

    • ίʔυΛݟ·͢

    View Slide

  21. σϞ

    View Slide

  22. ൓ল
    • ࠷ॳ͔Βಈ͘ͱ͜Ζ͔Β࡞ΔͱΑ͔ͬͨ……

    • ෺ཧతͳͱ͜Ζ (प೾਺) ͔Β࡞͍ͬͯͬͨͷΑ͘ͳ͔ͬ
    ͨ

    • ਺஋ͷਫ਼౓……

    View Slide

  23. ࠓޙͷల๬
    • Web Audioͱ݁߹ͯ͠Ի໐Β͍ͨ͠

    • ટ཯ͷੜ੒ → ͠ΐ΅ͯ͘΋͍͍ͳΒ͙͢ʹͰ͖ͦ͏

    View Slide