ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [R] AI기반 작곡 솔루션(AI MUSIC) 재현 04
    Project/AI Music (with R) 2020. 6. 10. 00:56


    목차


    서론


      프로젝트의 마지막 단계이며 몇 가지 향후 연구를 남겨두고자 한다. 먼저, 이번 프로젝트에서 사용한 Markov Chain에 대해 간단하게 이해할 필요가 있기에 관련 자료를 첨부하였으며, [Project] AI기반 작곡 솔루션(AI MUSIC) 재현 01에서는 AI기반 작곡 솔루션에 대한 선행 연구를 바탕으로 <그림 1>의 Markov Chain 기반 AI Composer를 정리하였다. 재현 02에서는 Modeling Process를 재현하였으며, 소리를 발생시키는 라이브러리인 tuneR 함께 소개하였다. 재현 3에서는 동요 비행기 악보를 Markov Chain 모형을 구현하여 Compose Process를 재현하여 동요 비행기를 학습한 새로운 악보를 구성할 수 있었다.

     이번 과정에서는 새롭게 생성된 악보를 이용해서 사람이 들을 멜로디로 전환하는 방법을 보여주면서, 개선이 필요한 내용들을 정리해보고자 한다.


    <그림 1> Markov Chain 기반 AI Composer(By Jay Data Graph)



    소리란?


     소리의 사전적 정의는 물체의 진동에 의하여 생긴 음파가 귀청을 울리어 귀에 들리는 것으로 정의하고 있다. 즉, 어떤 물질이 떨리고 이 떨린 현상이 물질을 타고 퍼지는 현상을 말하는데, 떨림을 진동이라고 하며, 진동을 전달해주는 물질을 매질이라고 한다. 소리를 전달하는 대표적인 매질은 공기가 될 것이다.


     아래의 [표 1]과 같이 소리의 진폭과 진동 그리고 형태에 따라 전혀 다른 소리가 발생하게 된다.

     낮은음

     높은음

    큰 소리 

    작은 소리 

    [표 1] 진동에 따른 소리


    피아노 진동수


     일반적으로 피아노는 88키를 가지고 있으며 C4를 가온다(중간도, Middle C)라고 말한다. 이때의 진동수는 약 261.63 Hz(헤르츠)이며, 1936년 American Standards Association(현, American National Standards Institute)에 의해 A440 pitch 표준을 발표하였다. 이후에 다양한 변화를 통해 다음 [표 2]와 같은 피아노의 주파수를 가지게 되었다. Eric Weisstein에 따르면 진동수를 가지는 공식 역시 다음과 같다.



    id

    octave

    scale

    hz

    1

    1

    C

    32.7

    2

    1

    C#

    34.65

    3

    1

    D

    36.71

    4

    1

    D#

    38.89

    5

    1

    E

    41.2

    6

    1

    F

    43.65

    7

    1

    F#

    46.25

    8

    1

    G

    49

    9

    1

    G#

    51.91

    10

    1

    A

    55

    11

    1

    A#

    58.27

    12

    1

    B

    61.74

    13

    2

    C

    65.4

    14

    2

    C#

    69.3

    15

    2

    D

    73.42

    16

    2

    D#

    77.78

    17

    2

    E

    82.4

    18

    2

    F

    87.3

    19

    2

    F#

    92.5

    20

    2

    G

    98

    21

    2

    G#

    103.82

    22

    2

    A

    110

    23

    2

    A#

    116.54

    24

    2

    B

    123.48

    25

    3

    C

    130.8

    26

    3

    C#

    138.6

    27

    3

    D

    146.84

    28

    3

    D#

    155.56

    29

    3

    E

    164.8

    30

    3

    F

    174.6

    31

    3

    F#

    185

    32

    3

    G

    196

    33

    3

    G#

    207.64

    34

    3

    A

    220

    35

    3

    A#

    233.08

    36

    3

    B

    246.96

    37

    4

    C(Middle C)

    261.6

    38

    4

    C#

    277.2

    39

    4

    D

    293.68

    40

    4

    D#

    311.12

    41

    4

    E

    329.6

    42

    4

    F

    349.2

    43

    4

    F#

    370

    44

    4

    G

    392

    45

    4

    G#

    415.28

    46

    4

    A

    440

    47

    4

    A#

    466.16

    48

    4

    B

    493.92

    49

    5

    C

    523.2

    50

    5

    C#

    554.4

    51

    5

    D

    587.36

    52

    5

    D#

    622.24

    53

    5

    E

    659.2

    54

    5

    F

    698.4

    55

    5

    F#

    740

    56

    5

    G

    784

    57

    5

    G#

    830.56

    58

    5

    A

    880

    59

    5

    A#

    932.32

    60

    5

    B

    987.84

    61

    6

    C

    1046.4

    62

    6

    C#

    1108.8

    63

    6

    D

    1174.72

    64

    6

    D#

    1244.48

    65

    6

    E

    1318.4

    66

    6

    F

    1396.8

    67

    6

    F#

    1480

    68

    6

    G

    1568

    69

    6

    G#

    1661.12

    70

    6

    A

    1760

    71

    6

    A#

    1864.64

    72

    6

    B

    1975.68

    73

    7

    C

    2092.8

    74

    7

    C#

    2217.6

    75

    7

    D

    2349.44

    76

    7

    D#

    2488.96

    77

    7

    E

    2636.8

    78

    7

    F

    2793.6

    79

    7

    F#

    2960

    80

    7

    G

    3136

    81

    7

    G#

    3322.24

    82

    7

    A

    3520

    83

    7

    A#

    3729.28

    84

    7

    B

    3951.36

    85

    8

    C

    4185.6

    86

    8

    C#

    4435.2

    87

    8

    D

    4698.88

    88

    8

    D#

    4977.92

    89

    8

    E

    5273.6

    90

    8

    F

    5587.2

    91

    8

    F#

    5920

    92

    8

    G

    6272

    93

    8

    G#

    6644.48

    94

    8

    A

    7040

    95

    8

    A#

    7458.56

    96

    8

    B

    7902.72

    [표 2] 피아노 음별 진동수(Hz)


    피아노의 진동 형태


     일반적으로 소리는 각자 고유의 파동 형태를 가지고 있다. 앞서, 진폭의 크기에 따라 큰 소리와 작은 소리가 발생하게 되며, 진동수에 따라 고음과 저음을 나타난다고 설명했다. <그림 2>와 같이 다양한 형태의 진동에 따라 전혀 다른 소리가 나타날 수 있다. 재현 2에서 설명한 TuneR 라이브러리에 sine()은 기계음을 내는 기본적인 멜로디 출력 함수이다. 피아노가 나타낼 수 있는 음색을 반영하기 위해 sine()을 독립적으로 사용하는 것이 아니라 파형을 변경하기 위해 다양한 값을 넣어 줄 수 있으며, 이는 초기의 영상과 다르게 최근 영상에 반영을 하여 새로운 멜로디를 만들게 된 것이다.


    <그림 2> 파형에 따른 악기 소리


     피아노 음색이 나오도록 하기 위해 제안한 Inigo Quilez의 영상에서의 테스트 결과를 참조하도록 하였다. 초기에 보여주는 사운드는 Sin함수 그대로의 진동을 들려주었기 때문에 기계음에 가깝고 나중에는 피아노 음색에 가깝게 구현하였다. 제안된 함수는 다음과 같으며, 실제 시간에 따른 진동을 그릴 때는 <그림 3>과 같은 결과가 나타난다.


    <그림 3> 피아노 음색을 위한 제안된 모형을 기반으로 한 파형


    Lesson Learned


     지난 3차례에 걸쳐 AI기반 작곡 솔루션(AI MUSIC)에 대한 재현을 진행해와다. 먼저, 악보를 획득하고 이를 데이터로 변환하는 작업을 수행하였다. 다음으론 변환된 악보를 Markov Chain 모델을 기반으로 확률 모형을 도출했으며, 이는 학습 데이터 기반의 새로운 멜로디를 생성하는 작곡 솔루션의 핵심 모듈이었다. 이어서, 자동으로 하나의 멜로디가 나오도록 반복 출력하는 모듈인 Compose Process 과정을 거쳤다. 이러한 과정을 통해 손쉽게 AI기반 작곡 솔루션을 도출했으며, 지난 3월 6일 최초로 멜로디를 유튜브에 공개하였으며, 피아노 음색이 나오도록 튜닝 작업을 마친 끝에 4월 25일 마지막 영상을 게시하였다. 이 외에 하나의 음악이 완성되기까지 보완해야할 사항들이 많이 필요하다. 마지막 재현 5에서는 현재까지 진행하면서 발생했던 이슈와 개선을 하기 위한 향후 연구 과제에 대한 것으로 이번 프로젝트를 마무리하려고 한다.


    <그림 4> Jay Data Graph 링크



    Reference

     표준국어대사전, "소리", https://ko.dict.naver.com/#/entry/koko/00ff5786eb3948998f39d7833e047e14

     Eric Weisstein, "Equal Temperament", http://www.ericweisstein.com/encyclopedias/music/EqualTemperament.html

     bprizze, "Waveforms of Various Piano Notes", http://ffden-2.phys.uaf.edu/webproj/212_spring_2017/Shane_Rutledge/shane_rutledge%20(2)/shane_rutledge/webpageforphys%20-%20NoteWaves.html#:~:text=Lower%20notes%20on%20the%20piano,an%20almost%20perfect%20sine%20wave.&text=Even%20with%20the%20interference%20at,violin%20with%20more%20random%20interference.

    댓글

Designed by Tistory.