2. 최근우
keunwoochoi.github.io
• 🎶 Senior research scientist at ByteDance / TikTok
• 🎵 Research scientist at Spotify
• 🎼 박사과정, 런던 퀸메리 대학교
• 🔈 연구원, 한국전자통신연구원, Korea
• 🎧 전기컴퓨터공학부 (음향공학) 석사과정, 서울대학교
• 🎸 전기컴퓨터공학부 학사, 서울대학교
Until
Now
2020
2018
2014
2011
2009
4. 초록 🍃
”..과연 인공지능, 그리고 음악 인공지능이란 무엇인가? 이 발표에서는 음악 인
공지능의 발전 동향을 분석 / 창작 / 신호 생성 / 신호 처리로 나누어 살펴본다.
특히, 분석 부분을 음색, 음표, 가사로 나누어 자세히 논한다.
이를 통해 음악 인공지능 연구자들이 무엇을 목표로 하고, 가정하고, 개발하고,
간과하고, 오해하는지 알아보자.”
5. 초록 🍃
”..과연 인공지능, 그리고 음악 인공지능이란 무엇인가? 이 발표에서는 음악 인
공지능의 발전 동향을 분석 / 창작 / 신호 생성 / 신호 처리로 나누어 살펴본다.
특히, 분석 부분을 음색, 음표, 가사로 나누어 자세히 논한다.
이를 통해 음악 인공지능 연구자들이 무엇을 목표로 하고, 가정하고, 개발하고,
간과하고, 오해하는지 알아보자.”
6. 내용
• 음악 인공지능이란? [30분]
• 분석 / 창작 / 신호 생성 / 신호 처리
• 분석: [25분]
• 인공지능의 음색 인지 모델 [10분]
• 인공지능의 음표 인지 모델 [10분]
• 인공지능의 가사 인지 모델 [ 5분]
7. 내용
• 음악 인공지능이란? [30분]
• 분석 / 창작 / 신호 생성 / 신호 처리
• 분석: [25분]
• 인공지능의 음색 인지 모델 [10분]
• 인공지능의 음표 인지 모델 [10분]
• 인공지능의 가사 인지 모델 [ 5분]
11. 인공지능, 기계학습
• 원래는,
• 인공지능: 인간처럼 사고하는 기계
• 기계학습: 기계를 학습시키는 방법(론)
• 기계학습 모델: 기계학습으로 만든 모델
• 현실적으론,
• 인공지능 = 기계학습 = 기계학습 모델 = AI = ML = Magic
12. 인공지능, 기계학습
• 원래는,
• 인공지능: 인간처럼 사고하는 기계
• 기계학습: 기계를 학습시키는 방법(론)
• 기계학습 모델: 기계학습으로 만든 모델
• 현실적으론,
• 인공지능 = 기계학습 = 기계학습 모델 = AI = ML = Magic
13. 음악 인공지능
• 기계가 입력에 따라 반응하는 모종의 음악적인 활동을 하는것
(ICMC '84)
14. 음악 인공지능
• 기계가 입력에 따라 반응하는 모종의 음악적인 활동을 하는것
(ICMC '84)
15. 음악 인공지능
입력 출력 음악 정보 음악 (오디오)
음악 (오디오)
분석
Analysis
(예: 장르 분류, 코드 인식)
신호 처리
Audio Signal Processing
(예: 믹싱)
음악 정보
창작
Creation
(예: 작사, 작곡)
신호 생성
Audio Synthesis
(예: 악기 소리 합성)
16. 음악 인공지능
입력 출력 음악 정보 음악 (오디오)
음악 (오디오)
분석
Analysis
(예: 장르 분류, 코드 인식)
신호 처리
Audio Signal Processing
(예: 믹싱)
음악 정보
창작
Creation
(예: 작사, 작곡)
신호 생성
Audio Synthesis
(예: 악기 소리 합성)
23. 음악 인공지능 - 신호 생성
배경지식: 신디사이저 (Synthesizer)
볼륨 노브: 음량 조절
건반: 음고를 조절
각종 노브: 음색을 조절 신디사이저 원하는 소리
24. 소리의 3요소
음량, 음고, 나머지 (=음색 Timbre)
• Timbre: "that attribute of auditory sensation which enables a listener to judge
that two nonidentical sounds, similarly presented and having the same
loudness and pitch, are dissimilar" (Acoustical Society of America)
• 음량과 음고가 같은데 두 소리를 우리가 "다르다"고 느낀다면, 그 차이를 만들어내는 요소
• 소리 := 음량, 음고, 나머지(=음색)
볼륨 노브: 음량 조절
건반: 음고를 조절
각종 노브: 음색을 조절
신디사이저 원하는 소리
25. 소리의 3요소
음량, 음고, 나머지 (=음색 Timbre)
• Timbre: "that attribute of auditory sensation which enables a listener to judge
that two nonidentical sounds, similarly presented and having the same
loudness and pitch, are dissimilar" (Acoustical Society of America)
• 음량과 음고가 같은데 두 소리를 우리가 "다르다"고 느낀다면, 그 차이를 만들어내는 요소
• 소리 := 음량, 음고, 나머지(=음색)
볼륨 노브: 음량 조절
건반: 음고를 조절
각종 노브: 음색을 조절
신디사이저 원하는 소리
26. 오토인코더
음악 인공지능 - 신호 생성
배경지식: 오토인코더 (Autoencoder)
입력 이미지
(28 x 28 = 784 픽셀)
(입력 이미지를 모사한)
출력 이미지
(28 x 28 = 784 픽셀)
딥러닝
모듈 1
(인코더)
딥러닝
모듈 2
(디코더)
16d
벡터
27. 오토인코더
음악 인공지능 - 신호 생성
배경지식: 오토인코더 (Autoencoder)
입력 이미지
(28 x 28 = 784 픽셀)
(입력 이미지를 모사한)
출력 이미지
(28 x 28 = 784 픽셀)
딥러닝
모듈 1
(인코더)
딥러닝
모듈 2
(디코더)
16d
벡터
입력 데이터를 적절히 압축 압축을 풀어서 입력 데이터를 복원
28. 음악 인공지능 - 신호 생성
DDSP - Differential Digital Signal Processing (2019, Engel et al.)
29. 음악 인공지능 - 신호 생성
DDSP - Differential Digital Signal Processing (2019, Engel et al.)
입력
신호
(악기 소리,
단선율)
딥러닝
모듈 1
(인코더)
기본음
음량
딥러닝
모듈 2
(디코더)
생성된
신호 1
(기본음,
배음)
생성된
신호 1
(잡음)
잔향
처리
출력
신호
(입력 신호를
모사한 결과)
30. 음악 인공지능 - 신호 생성
DDSP - Differential Digital Signal Processing (2019, Engel et al.)
입력
신호
(악기 소리,
단선율)
딥러닝
모듈 1
(인코더)
기본음
음량
딥러닝
모듈 2
(디코더)
생성된
신호 1
(기본음,
배음)
생성된
신호 1
(잡음)
잔향
처리
출력
신호
(입력 신호를
모사한 결과)
기본음
추정기
31. 음악 인공지능 - 신호 생성
DDSP - Differential Digital Signal Processing (2019, Engel et al.)
입력
신호
(악기 소리,
단선율)
딥러닝
모듈 1
(인코더)
기본음
음량
딥러닝
모듈 2
(디코더)
생성된
신호 1
(기본음,
배음)
생성된
신호 1
(잡음)
잔향
처리
출력
신호
(입력 신호를
모사한 결과)
기본음
추정기
기본음 (음고) 인식
32. 음악 인공지능 - 신호 생성
DDSP - Differential Digital Signal Processing (2019, Engel et al.)
입력
신호
(악기 소리,
단선율)
딥러닝
모듈 1
(인코더)
기본음
음량
딥러닝
모듈 2
(디코더)
생성된
신호 1
(기본음,
배음)
생성된
신호 1
(잡음)
잔향
처리
출력
신호
(입력 신호를
모사한 결과)
기본음
추정기
기본음 (음고) 인식
음량 인식
33. 음악 인공지능 - 신호 생성
DDSP - Differential Digital Signal Processing (2019, Engel et al.)
입력
신호
(악기 소리,
단선율)
딥러닝
모듈 1
(인코더)
기본음
음량
딥러닝
모듈 2
(디코더)
생성된
신호 1
(기본음,
배음)
생성된
신호 1
(잡음)
잔향
처리
출력
신호
(입력 신호를
모사한 결과)
기본음
추정기
후처리
기본음 (음고) 인식
음량 인식
34. 음악 인공지능 - 신호 생성
DDSP - Differential Digital Signal Processing (2019, Engel et al.)
입력
신호
(악기 소리,
단선율)
딥러닝
모듈 1
(인코더)
기본음
음량
딥러닝
모듈 2
(디코더)
생성된
신호 1
(기본음,
배음)
생성된
신호 1
(잡음)
잔향
처리
출력
신호
(입력 신호를
모사한 결과)
기본음
추정기
후처리
기본음 (음고) 인식
음량 인식
후처리
35. 음악 인공지능 - 신호 생성
DDSP - Differential Digital Signal Processing (2019, Engel et al.)
입력
신호
(악기 소리,
단선율)
딥러닝
모듈 1
(인코더)
기본음
음량
딥러닝
모듈 2
(디코더)
생성된
신호 1
(기본음,
배음)
생성된
신호 1
(잡음)
잔향
처리
출력
신호
(입력 신호를
모사한 결과)
기본음
추정기
후처리
기본음 (음고) 인식
음량 인식
후처리
볼륨 노브: 음량 조절
건반: 음고를 조절
각종 노브: 음색을 조절 신디사이저 원하는 소리
36. 음악 인공지능 - 신호 생성
DDSP - Differential Digital Signal Processing (2019, Engel et al.)
입력
신호
(악기 소리,
단선율)
딥러닝
모듈 1
(인코더)
기본음
음량
딥러닝
모듈 2
(디코더)
생성된
신호 1
(기본음,
배음)
생성된
신호 1
(잡음)
잔향
처리
출력
신호
(입력 신호를
모사한 결과)
기본음
추정기
후처리
기본음 (음고) 인식
음량 인식
후처리
볼륨 노브: 음량 조절
건반: 음고를 조절
각종 노브: 음색을 조절 신디사이저 원하는 소리
37. 음악 인공지능 - 신호 생성
DDSP - Differential Digital Signal Processing (2019, Engel et al.)
입력
신호
(악기 소리,
단선율)
딥러닝
모듈 1
(인코더)
기본음
음량
딥러닝
모듈 2
(디코더)
생성된
신호 1
(기본음,
배음)
생성된
신호 1
(잡음)
잔향
처리
출력
신호
(입력 신호를
모사한 결과)
• DDSP 디코더 == 신디사이저
• DDSP 인코더 == 소리를 듣고, 그 소리를 따라하려면 신디사이저 노브를 어떻게 설정해야하는지 (Z) 알려줌
• 기본음(F0)과 음량은 DDSP 모델과 관계없음. DDSP는 기본음과 음량이 설명해주지 못하는 나머지(=음색 (=Z))를 모델링.
기본음
추정기
후처리
기본음 (음고) 인식
음량 인식
후처리
38. 음악 인공지능 - 신호 생성
Tone Transfer (https://magenta.tensorflow.org/tone-transfer)
입력
신호
(악기 소리,
단선율)
딥러닝
모듈
(디코더) = 색소폰 소리 합성기
기본음
음량
생성된
신호 1
(기본음,
배음)
생성된
신호 1
(잡음)
잔향
처리
출력
신호
(입력 신호를
모사한 결과)
• 1. 색소폰 소리 데이터셋으로 (조금 더 단순해진) DDSP 모델을 학습.
이제, "딥러닝 모듈"은 기본음과 음량을 받으면 그에 맞는 색소폰 소리를 합성하는 색소폰 전용
신디사이저가 됨.
• 2. 목소리로 색소폰 멜로디를 흉내낸 뒤, 그 목소리에서 기본음과 음량을 추출해서 넣음.
기본음
추정기
여타 필요한 신호처리
기본음 (음고) 인식
음량 인식
41. 음악 인공지능 - 신호 생성
다른 응용 사례
• 악기 소리 생성
• 신디사이저, 드럼, 베이스, 피아노, ..
• 가창, 랩 생성
• 원하는 목소리로
• 원하는 비트에 맞춰서
42. 음악 인공지능
입력 출력 음악 정보 음악 (오디오)
음악 (오디오)
분석
Analysis
(예: 장르 분류, 코드 인식)
신호 처리
Audio Signal Processing
(예: 믹싱)
음악 정보
창작
Creation
(예: 작사, 작곡)
신호 생성
Audio Synthesis
(예: 악기 소리 합성)
43. 음악 인공지능
입력 출력 음악 정보 음악 (오디오)
음악 (오디오)
분석
Analysis
(예: 장르 분류, 코드 인식)
신호 처리
Audio Signal Processing
(예: 믹싱)
음악 정보
창작
Creation
(예: 작사, 작곡)
신호 생성
Audio Synthesis
(예: 악기 소리 합성)
44. 음악 인공지능 - 창작
(몹시 좁은 의미의) 창작
• 무조건 생성하기 보다는, 사용자의 의도에 맞춘 결과를 만드는 것이 중요.
45. 음악 인공지능 - 창작
(몹시 좁은 의미의) 창작
• 무조건 생성하기 보다는, 사용자의 의도에 맞춘 결과를 만드는 것이 중요.
음악 생성
모델
"재즈" 음악으로.. (재즈 음악)
46. 음악 인공지능 - 창작
(몹시 좁은 의미의) 창작
• 무조건 생성하기 보다는, 사용자의 의도에 맞춘 결과를 만드는 것이 중요.
음악 생성
모델
"재즈" 음악으로.. (재즈 음악)
코드 생성
모델
"Dm7 G7"으로
시작하는 코드 진행
CM7 C7 FM7 F7 Em7
EbM7 ..
47. 음악 인공지능 - 창작
(몹시 좁은 의미의) 창작
• 무조건 생성하기 보다는, 사용자의 의도에 맞춘 결과를 만드는 것이 중요.
음악 생성
모델
"재즈" 음악으로.. (재즈 음악)
코드 생성
모델
"Dm7 G7"으로
시작하는 코드 진행
CM7 C7 FM7 F7 Em7
EbM7 ..
반주 생성
모델
이 멜로디에 맞춘.. 반주 (코드, 리듬)
49. 음악 인공지능 - 창작
배경지식: 자연어처리, 언어모델
단어 모델
"강아지", "고양이"
"딥러닝"
(0.2, 0.3), (0.23, 0.31)
(-1.2, -3.2)
50. 음악 인공지능 - 창작
배경지식: 자연어처리, 언어모델
단어 모델
"강아지", "고양이"
"딥러닝"
(0.2, 0.3), (0.23, 0.31)
(-1.2, -3.2)
문장 요약
모델
"오늘은 한국음악지각인지학회가 열리는 날이다. 온라인으로 열리
는 이 학회에서는 음악 지각 및 인지와 관련된 광범위한 주제로 여
러 논문 발표가 있을 예정이다. 참가 신청은 학회 공식 웹사이트를
참조하고.."
오늘은 한국음악지각인지학회가 온라인으로 열리며
참가신청은 학회 웹사이트를 참조.
51. 음악 인공지능 - 창작
배경지식: 자연어처리, 언어모델
단어 모델
"강아지", "고양이"
"딥러닝"
(0.2, 0.3), (0.23, 0.31)
(-1.2, -3.2)
문장 요약
모델
"오늘은 한국음악지각인지학회가 열리는 날이다. 온라인으로 열리
는 이 학회에서는 음악 지각 및 인지와 관련된 광범위한 주제로 여
러 논문 발표가 있을 예정이다. 참가 신청은 학회 공식 웹사이트를
참조하고.."
오늘은 한국음악지각인지학회가 온라인으로 열리며
참가신청은 학회 웹사이트를 참조.
번역 모델
"온라인으로 열리는 이 학회에서는 음악 지각 및 인지와 관련된 광
범위한 주제로 여러 논문 발표가 있을 예정이다."
This online conference will feature several papers on a wide
range of topics related to music perception and cognition.
52. 음악 인공지능 - 창작
언어와 음악의 유사성(에 대한 가정)
• 언어 := 단어의 나열(이라고 정의)
• 이 정의로 설명이 안되는 부분은 생략
• 음악 := 음표의 나열(이라고 정의)
• 이 정의로 설명이 안되는 부분은 생략 (악기, 가사, 오디오 이외의 정보..)
단어1 단어2 단어3 .. 🎵 🎶 🎶 🎵
53. • Text-based LSTM networks for Automatic Music Composition, Choi et al., 2016
• https://soundcloud.com/kchoi-research/sets/lstm-realbook-1-5
• 책을 읽는 대신에 코드 진행을 공부한 딥러닝 모델. 코드를 마구 작성해보거라!
• 시연: "LSTM Realbook 4.mp3"
음악 인공지능 - 창작
모델 ← 언어모델을 사용 / 데이터 ← 책 대신 코드 진행
생셩 결과: ..G:7(b9) C:maj C:maj A:min A:min D:min7 D:min7 G:7(b9) G:7(b9) C:maj C:maj C:maj C:maj A:min7 A:min7
A:min7 A:min7 D:9 D:9 D:9 G:7(b9) | C:maj C:maj A:min A:min | D:min7 D:min7 G:7(b9) G:7(b9) | C:maj C:maj C:maj
C:maj |A:min7 A:min7 A:min7 A:min7 | D:9 D:9 D:9 D:9 | D:9 D:9 D:9 D:9 | D:7 D:7 D:7 D:7 | D:min7 D:min7 D:min7
D:min7 | G:7 G:7 G:7 G:7 | C:maj C:maj C:maj C:maj | C:7 C:7 C:7 C:7 | F:maj F:maj F:maj F:maj | F:min F:min F:min
F:min | C:maj C:maj C:maj C:maj | C:maj C:maj C:maj C:maj D:7 D:7 D:7 D:7 G:7 G:7 G:7 G:7 C:maj C:maj C:maj C:maj
C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj G:7 G:7 G:7 G:7 G:7 G:7 G:7 G:7 C:maj
C:maj C:maj C:maj C:maj C:maj C:maj C:maj G:7 G:7 G:7 G:7 G:7 G:7 G:7 G:7 C:maj C:maj C:maj C:maj C:maj C:maj
C:maj C:maj G:7 G:7 G:7 G:7 G:7 G:7 G:7 G:7 C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj
C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj
모델은 코드 진행만 생성.
오디오는 시연을 위해 직접 만든 것.
54. • Text-based LSTM networks for Automatic Music Composition, Choi et al., 2016
• https://soundcloud.com/kchoi-research/sets/lstm-realbook-1-5
• 책을 읽는 대신에 코드 진행을 공부한 딥러닝 모델. 코드를 마구 작성해보거라!
• 시연: "LSTM Realbook 4.mp3"
음악 인공지능 - 창작
모델 ← 언어모델을 사용 / 데이터 ← 책 대신 코드 진행
생셩 결과: ..G:7(b9) C:maj C:maj A:min A:min D:min7 D:min7 G:7(b9) G:7(b9) C:maj C:maj C:maj C:maj A:min7 A:min7
A:min7 A:min7 D:9 D:9 D:9 G:7(b9) | C:maj C:maj A:min A:min | D:min7 D:min7 G:7(b9) G:7(b9) | C:maj C:maj C:maj
C:maj |A:min7 A:min7 A:min7 A:min7 | D:9 D:9 D:9 D:9 | D:9 D:9 D:9 D:9 | D:7 D:7 D:7 D:7 | D:min7 D:min7 D:min7
D:min7 | G:7 G:7 G:7 G:7 | C:maj C:maj C:maj C:maj | C:7 C:7 C:7 C:7 | F:maj F:maj F:maj F:maj | F:min F:min F:min
F:min | C:maj C:maj C:maj C:maj | C:maj C:maj C:maj C:maj D:7 D:7 D:7 D:7 G:7 G:7 G:7 G:7 C:maj C:maj C:maj C:maj
C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj G:7 G:7 G:7 G:7 G:7 G:7 G:7 G:7 C:maj
C:maj C:maj C:maj C:maj C:maj C:maj C:maj G:7 G:7 G:7 G:7 G:7 G:7 G:7 G:7 C:maj C:maj C:maj C:maj C:maj C:maj
C:maj C:maj G:7 G:7 G:7 G:7 G:7 G:7 G:7 G:7 C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj
C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj C:maj
모델은 코드 진행만 생성.
오디오는 시연을 위해 직접 만든 것.
55. 음악 인공지능 - 창작
언어 모델을 넘어서
• MIDI-VAE: https://arxiv.org/abs/1809.07600
• 강약, 악기 구성을 추가
• Pop Music Transformer: https://arxiv.org/abs/2002.00212
• 박자, 마디 등의 정보를 전부 "단어"에 포함하여 모사
• 가사 작성 모델
• 가사에 특화된 모델, 데이터, 학습 방법
56. 우리는 왜 음악을
만드는가?
기계가 작곡한 곡의
저작권은 누구에게?
수백만곡을 '들으면서' 모델을
학습하는 과정은
저작권 침해가 아닌가?
음악 인공지능 - 창작
토론 🔥
우리는 어떻게
음악을 소비하는가?
사람의 작곡을
어디까지, 어떻게
도와줘야 하는가?
57. 음악 인공지능
입력 출력 음악 정보 음악 (오디오)
음악 (오디오)
분석
Analysis
(예: 장르 분류, 코드 인식)
신호 처리
Audio Signal Processing
(예: 믹싱)
음악 정보
창작
Creation
(예: 작사, 작곡)
신호 생성
Audio Synthesis
(예: 악기 소리 합성)
58. 음악 인공지능
입력 출력 음악 정보 음악 (오디오)
음악 (오디오)
분석
Analysis
(예: 장르 분류, 코드 인식)
신호 처리
Audio Signal Processing
(예: 믹싱)
음악 정보
창작
Creation
(예: 작사, 작곡)
신호 생성
Audio Synthesis
(예: 악기 소리 합성)
62. 음악 인공지능 - 신호 처리
기존 음원 분리 모델: 가정이 매우 많음
- 보컬은 가운데에 믹싱한다.
- 타악기는 주파수 전 대역에 에너지가 퍼져있다.
- 제일 낮은 음 == 베이스
- 사람은 양쪽 귀에 들어오는 에너지 레벨의 차이(ILD)와 시
간/위상 차이(ITD)로 음원의 위치를 파악한다.
- 악기마다 일정한 배음 구조를 갖는다.
- 이 배음 구조는 음고가 바뀌어도 유지된다.
- 스테레오 음원에서 악기는 각자 정해진 위치가 있다.
- ..
63. 음악 인공지능 - 신호 처리
최신 음원 분리 모델: 가정이 적지만 생각보다는 많음
- 사람의 청각 기관은 소리의 절대적인 위상에는 둔감하다.
- 그러므로 이용하지 말자
- 그렇지만 이용하자
- 악기마다 모종의 고유의 특징이 있다.
- 그 특징은 ? 초면 충분히 파악할 수 있다.
- '악기'라는, 명확히 구분되는, 서로 다른 소리의 집합이
존재한다.
64. 음악 인공지능 - 신호 처리
응용 사례
• 음원 분리
• 음질 향상
• 잔향 제거
• 자동 믹싱, 마스터링
• (매우 자연스럽고 다양한) 음성 변조
65. 음악 인공지능
입력 출력 음악 정보 음악 (오디오)
음악 (오디오)
분석
Analysis
(예: 장르 분류, 코드 인식)
신호 처리
Audio Signal Processing
(예: 믹싱)
음악 정보
창작
Creation
(예: 작사, 작곡)
신호 생성
Audio Synthesis
(예: 악기 소리 합성)
66. 음악 인공지능
입력 출력 음악 정보 음악 (오디오)
음악 (오디오)
분석
Analysis
(예: 장르 분류, 코드 인식)
신호 처리
Audio Signal Processing
(예: 믹싱)
음악 정보
창작
Creation
(예: 작사, 작곡)
신호 생성
Audio Synthesis
(예: 악기 소리 합성)
67. 음악 인공지능 - 분석
MIR (음악 정보 추출)
분류, 인식, 탐지, ..
Machine Listening
68. 음악 인공지능 - 분석
MIR (음악 정보 추출)
분류, 인식, 탐지, ..
Machine Listening
이 음악은 "재즈"다.
"차분한 분위기"의 음악이다.
드럼, 피아노, 베이스
템포는 75 BPM
연주곡
0:45까지 인트로,
1:20까지 브릿지, ..
69. 음악 인공지능
입력 출력 음악 정보
음악
(오디오)
음악 (오디오)
분석
Analysis
(예: 장르 분류, 코드 인식)
신호 처리
Audio
Signal
Process
ing
(예: 믹싱)
음악 정보
창작
Creation
(예: 작사, 작곡)
신호 생성
Audio
Synthes
70. 음악 인공지능
입력 출력 음악 정보
음악
(오디오)
음악 (오디오)
분석
Analysis
(예: 장르 분류, 코드 인식)
신호 처리
Audio
Signal
Process
ing
(예: 믹싱)
음악 정보
창작
Creation
(예: 작사, 작곡)
신호 생성
Audio
Synthes
1. 음색
2. 음표
3. 가사
72. 인공지능의 음색 인지 모델
역사와 전통의 MFCC (1970s - Now)
• 목적:
사람이 느끼는, 소리의 주파수 특성을 숫자 몇 개로(=벡터) 표현
👂
👂
청각
모델
0.1 0.9 0.2 0.8
-1.0 1.7 0.3 0.8
73. 인공지능의 음색 인지 모델
역사와 전통의 MFCC
특징 이유
음고(F0)의 변화에 둔감하도록 설계함 (음성 인식이) 목소리의 높낮이에 관계 없이 작동하도록
MFCC의 벡터의 첫 번째 계수는
에너지(소리의 크기)를 나타내고, 종종 생략함
(음성 인식/음악 장르 등은) 소리의 크기와 관계 없이 작동하도록
음성 신호를 위해 만들었지만
음악에서도 널리 쓰임
음악의 조(Key)가 음량(볼륨)이 바뀌어도
음악의 특징 (장르, 분위기, ..)등은 유지된다.
→ 음악 분류에 필요한 특징이 MFCC에 있음
74. 인공지능의 음색 인지 모델
역사와 전통의 MFCC
• 음고의 변화에 둔감하도록 설계하고,
• 음량의 변화와 관련있는 부분은 삭제
• 결론: MFCC는 음색과 관련이 있다!
75. 인공지능의 음색 인지 모델
딥러닝 모델: 컨볼루션 네트워크 (=컨브넷, ConvNets, CNNs)
76. 인공지능의 음색 인지 모델
딥러닝 모델: 컨볼루션 네트워크 (=컨브넷, ConvNets, CNNs)
77. 인공지능의 음색 인지 모델
딥러닝 모델: 컨볼루션 네트워크 (=컨브넷, ConvNets, CNNs)
1. 글씨가 흐려도,
2. 물체의 위치와 관계 없이,
(모양이 맞으면)
인식하는 것이 목표.
문자, 숫자, 물체 인식?
78. 인공지능의 음색 인지 모델
딥러닝 모델: 컨볼루션 네트워크 (=컨브넷, ConvNets, CNNs)
1. 글씨가 흐려도,
2. 물체의 위치와 관계 없이,
(모양이 맞으면)
인식하는 것이 목표.
문자, 숫자, 물체 인식?
1. 음량이 작거나
2. 음악의 조, 높낮이에 관계 없이
(음색이 맞으면)
인식하는 것이 목표.
음악 장르 인식?
79. 인공지능의 음색 인지 모델
딥러닝 모델: 컨볼루션 네트워크 (=컨브넷, ConvNets, CNNs)
80. 인공지능의 음색 인지 모델
딥러닝 모델: 컨볼루션 네트워크 (=컨브넷, ConvNets, CNNs)
• 오해
• 뉴럴넷 =/= 사람의 신경망
• 컨브넷 =/= 사람의 시각 처리 과정
• 컨브넷 =/= 시각
81. 인공지능의 음색 인지 모델
딥러닝 모델: 컨볼루션 네트워크 (=컨브넷, ConvNets, CNNs)
• 오해
• 뉴럴넷 =/= 사람의 신경망
• 컨브넷 =/= 사람의 시각 처리 과정
• 컨브넷 =/= 시각
• 컨브넷:
• 입력 데이터의 특정 측면은 무시하고 (예: 작은 위치 변화) 다른 특정 측면에는 잘 반응하도록 설계되었다.
• 설계 구조와 특징은 사람의 음악 인지와 유사한 점이 있다.
• 특히, 음색과 관련된 정보를 잘 활용할 수 있는 특징을 갖고 있다.
82. 인공지능의 음색 인지 모델
딥러닝 모델: 컨볼루션 네트워크 (=컨브넷, ConvNets, CNNs)
• Automatic tagging using deep convolutional neural networks, Choi et al.,
ISMIR, 2016
• 이미지에 쓰이던 구조를 "그대로" 가져와서 음악에 적용.
83. 인공지능의 음색 인지 모델
딥러닝 모델: 컨볼루션 네트워크 (=컨브넷, ConvNets, CNNs)
• 음악 태깅
• 장르 분류
• 감정 인식
• 악기 인식
• 유사도 학습
84. 인공지능의 음색 인지 모델
딥러닝 모델: 컨볼루션 네트워크 (=컨브넷, ConvNets, CNNs)
• 음악 태깅
• 장르 분류
• 감정 인식
• 악기 인식
• 유사도 학습
아무도 "음색 인지"라고 이야기하진 않지만,
모두가 음색 인지 문제를 풀 듯이 접근함.
85. 인공지능의 음색 인지 모델
딥러닝 모델: 컨볼루션 네트워크 (=컨브넷, ConvNets, CNNs)
• 음악 태깅
• 장르 분류
• 감정 인식
• 악기 인식
• 유사도 학습
컨브넷의 성능이 워낙 좋아서,
음색 인지 관점으로 문제를 해석할 때 생기는 단점이
지금까지는 별로 중요하지 않았음.
아무도 "음색 인지"라고 이야기하진 않지만,
모두가 음색 인지 문제를 풀 듯이 접근함.
86. 인공지능의 음색 인지 모델
딥러닝 모델: 컨볼루션 네트워크 (=컨브넷, ConvNets, CNNs)
• 음악 태깅
• 장르 분류
• 감정 인식
• 악기 인식
• 유사도 학습
한편으론,
음색의 중요성을 깨닫게 되기도 함.
컨브넷의 성능이 워낙 좋아서,
음색 인지 관점으로 문제를 해석할 때 생기는 단점이
지금까지는 별로 중요하지 않았음.
아무도 "음색 인지"라고 이야기하진 않지만,
모두가 음색 인지 문제를 풀 듯이 접근함.
90. 인공지능의 음표 인지 모델
기본음 추정 (F0 Estimation): 단선율, 목소리/악기
멜로디 추출 (Melody Extraction)
- 멜로디의 정의가 주관적
- 명확한 데이터를 주로 사용
91. 인공지능의 음표 인지 모델
기본음 추정 (F0 Estimation): 단선율, 목소리/악기
멜로디 추출 (Melody Extraction)
- 멜로디의 정의가 주관적
- 명확한 데이터를 주로 사용
채보 (Transcription)
- 악기 / 녹음 환경 / 단선율, 다선율 / ..
92. • 피아노 위주로 연구 진행
• 방법론 1 → 방법론 1' → 1'se → 1'se Max → 1'se Max Plus → ..
• 가정이 많아짐 (음표간의 관계, 녹음 환경, 피아노 조율법, ..)
• 모델이 점점 복잡해짐
• 보고되는 실험 결과는 점점 개선됨
• = 주어진 데이터셋에 특화된 방법론으로 편향
• 실용성은.. 🤔
인공지능의 음표 인지 모델
채보: 전통적인 방식 (딥러닝 이전, -2015)
93. • 피아노 위주로 연구 진행
• 방법론 1 → 방법론 1' → 1'se → 1'se Max → 1'se Max Plus → ..
• 가정이 많아짐 (음표간의 관계, 녹음 환경, 피아노 조율법, ..)
• 모델이 점점 복잡해짐
• 보고되는 실험 결과는 점점 개선됨
• = 주어진 데이터셋에 특화된 방법론으로 편향
• 실용성은.. 🤔
인공지능의 음표 인지 모델
채보: 전통적인 방식 (딥러닝 이전, -2015)
94. • 피아노 위주로 연구 진행
• 방법론 1 → 방법론 1' → 1'se → 1'se Max → 1'se Max Plus → ..
• 가정이 많아짐 (음표간의 관계, 녹음 환경, 피아노 조율법, ..)
• 모델이 점점 복잡해짐
• 보고되는 실험 결과는 점점 개선됨
• = 주어진 데이터셋에 특화된 방법론으로 편향
• 실용성은.. 🤔
인공지능의 음표 인지 모델
채보: 전통적인 방식 (딥러닝 이전, -2015)
95. 인공지능의 음표 인지 모델
채보: 딥러닝
• CNN, RNN등 구조는 이미 존재했고, 기존보다 잘 작동하고 있던 중 등장한..
• Onsets-and-frames (Hawthorne et al, 2018)
98. 인공지능의 음표 인지 모델
채보: 딥러닝
딥러닝 모듈 1:
온셋 모델링
(음표의 길이는 무시)
99. 인공지능의 음표 인지 모델
채보: 딥러닝
딥러닝 모듈 1:
온셋 모델링
(음표의 길이는 무시)
100. 인공지능의 음표 인지 모델
채보: 딥러닝
딥러닝 모듈 1:
온셋 모델링
(음표의 길이는 무시)
온셋 추정
101. 인공지능의 음표 인지 모델
채보: 딥러닝
딥러닝 모듈 1:
온셋 모델링
(음표의 길이는 무시)
딥러닝 모듈 2
온셋 추정
102. 인공지능의 음표 인지 모델
채보: 딥러닝
딥러닝 모듈 1:
온셋 모델링
(음표의 길이는 무시)
딥러닝 모듈 3:
프레임 모델링
(온셋을 기반으로
음표의 길이를 추정
딥러닝 모듈 2
온셋 추정
103. 인공지능의 음표 인지 모델
채보: 딥러닝
딥러닝 모듈 1:
온셋 모델링
(음표의 길이는 무시)
딥러닝 모듈 3:
프레임 모델링
(온셋을 기반으로
음표의 길이를 추정
딥러닝 모듈 2
온셋 추정
104. 인공지능의 음표 인지 모델
채보: 딥러닝
딥러닝 모듈 1:
온셋 모델링
(음표의 길이는 무시)
딥러닝 모듈 3:
프레임 모델링
(온셋을 기반으로
음표의 길이를 추정
딥러닝 모듈 2
온셋 추정
프레임 추정
105. 인공지능의 음표 인지 모델
채보: 딥러닝
딥러닝 모듈 1:
온셋 모델링
(음표의 길이는 무시)
딥러닝 모듈 3:
프레임 모델링
(온셋을 기반으로
음표의 길이를 추정
딥러닝 모듈 2
온셋 추정
프레임 추정
1. 온셋 - 프레임을
나눠서 가르치면 👍
106. 인공지능의 음표 인지 모델
채보: 딥러닝
딥러닝 모듈 1:
온셋 모델링
(음표의 길이는 무시)
딥러닝 모듈 3:
프레임 모델링
(온셋을 기반으로
음표의 길이를 추정
딥러닝 모듈 2
온셋 추정
프레임 추정
1. 온셋 - 프레임을
나눠서 가르치면 👍
2. 온셋을 먼저 예측하고,
그걸 이용해 프레임을
예측하는 것이
도움이 됨
107. 인공지능의 음표 인지 모델
채보: 딥러닝
딥러닝 모듈 1:
온셋 모델링
(음표의 길이는 무시)
딥러닝 모듈 3:
프레임 모델링
(온셋을 기반으로
음표의 길이를 추정
딥러닝 모듈 2
온셋 추정
프레임 추정
1. 온셋 - 프레임을
나눠서 가르치면 👍
2. 온셋을 먼저 예측하고,
그걸 이용해 프레임을
예측하는 것이
도움이 됨
3. 오디오는 스펙트로그램
변환만 하면 충분
108. 인공지능의 음표 인지 모델
모델 데이터셋
MAPS
(2010)
MAPS w/ diff
config/metric
Maestro
(2018)
FitzGerald et al.
2008
58
Vincent et al.
2010
67
Ewert et al. 2016 95
Kelz et al. 2016 79 51 81
Hawthorne et al.
2018
83 82
Hawthorne et al.
2019
83 86 - 95
Kong et al.
2020
97
109. 인공지능의 음표 인지 모델
모델 데이터셋
MAPS
(2010)
MAPS w/ diff
config/metric
Maestro
(2018)
FitzGerald et al.
2008
58
Vincent et al.
2010
67
Ewert et al. 2016 95
Kelz et al. 2016 79 51 81
Hawthorne et al.
2018
83 82
Hawthorne et al.
2019
83 86 - 95
Kong et al.
2020
97
딥러닝
110. 인공지능의 음표 인지 모델
모델 데이터셋
MAPS
(2010)
MAPS w/ diff
config/metric
Maestro
(2018)
FitzGerald et al.
2008
58
Vincent et al.
2010
67
Ewert et al. 2016 95
Kelz et al. 2016 79 51 81
Hawthorne et al.
2018
83 82
Hawthorne et al.
2019
83 86 - 95
Kong et al.
2020
97
딥러닝
더 좋은 딥러닝 (온셋-프레임 모델)
111. 인공지능의 음표 인지 모델
채보 모델 시연 (Kwon et al., 2020)
1. 녹음
2. 채보
3. 결과
112. 인공지능의 음표 인지 모델
채보 모델 시연 (Kwon et al., 2020)
1. 녹음
2. 채보
3. 결과
113. 인공지능의 음표 인지 모델
차세대 패러다임 - 합성과 분석을 동시에
• wave2midi2wave (Hawthorne et al., 2019)
• 미디 / 오디오 데이터셋을 활용
• DrummerNet (Choi and Cho, 2019)
• 비지도학습이 가능 (오디오만 있으면 됨)
• 후속 연구: 기타 (Wiggins and Kim, 2020), 피아노 (Cheuk et al., 2021, Benetos
et al., 2021)
122. 인공지능의 음표 인지 모델
채보 문제의 문제
• 🎹 피아노, 🥁 드럼은 잘 됨
• 톤이 시간에 따라 많이 변하는 악기 (🎷🎺 관악기, 🎻 현악기) -- 잘 안됨
123. 인공지능의 음표 인지 모델
채보 문제의 문제
• 🎹 피아노, 🥁 드럼은 잘 됨
• 톤이 시간에 따라 많이 변하는 악기 (🎷🎺 관악기, 🎻 현악기) -- 잘 안됨
• 이유: 모델의 능력 부족, 학습 데이터 부족
124. 인공지능의 음표 인지 모델
채보 문제의 문제
• 🎹 피아노, 🥁 드럼은 잘 됨
• 톤이 시간에 따라 많이 변하는 악기 (🎷🎺 관악기, 🎻 현악기) -- 잘 안됨
• 이유: 모델의 능력 부족, 학습 데이터 부족
• 악기에 따른 모델을 개별적으로 만들어야 하나? 악기의 경계선이 항상 존재하나? (아님)
125. 인공지능의 음표 인지 모델
채보 문제의 문제
• 🎹 피아노, 🥁 드럼은 잘 됨
• 톤이 시간에 따라 많이 변하는 악기 (🎷🎺 관악기, 🎻 현악기) -- 잘 안됨
• 이유: 모델의 능력 부족, 학습 데이터 부족
• 악기에 따른 모델을 개별적으로 만들어야 하나? 악기의 경계선이 항상 존재하나? (아님)
• 온셋, 오프셋 정보만으로 음표를 나타낼 수 있다고 가정. 허나 트릴과 비브라토의 경계, 꾸밈음, 시간에
따른 음의 변화는?
126. 인공지능의 음표 인지 모델
채보 문제의 문제
• 🎹 피아노, 🥁 드럼은 잘 됨
• 톤이 시간에 따라 많이 변하는 악기 (🎷🎺 관악기, 🎻 현악기) -- 잘 안됨
• 이유: 모델의 능력 부족, 학습 데이터 부족
• 악기에 따른 모델을 개별적으로 만들어야 하나? 악기의 경계선이 항상 존재하나? (아님)
• 온셋, 오프셋 정보만으로 음표를 나타낼 수 있다고 가정. 허나 트릴과 비브라토의 경계, 꾸밈음, 시간에
따른 음의 변화는?
• 사실 이런 가정은 "악보📄"의 한계이기도 함.
127. 인공지능의 음표 인지 모델
채보 문제의 문제
• 🎹 피아노, 🥁 드럼은 잘 됨
• 톤이 시간에 따라 많이 변하는 악기 (🎷🎺 관악기, 🎻 현악기) -- 잘 안됨
• 이유: 모델의 능력 부족, 학습 데이터 부족
• 악기에 따른 모델을 개별적으로 만들어야 하나? 악기의 경계선이 항상 존재하나? (아님)
• 온셋, 오프셋 정보만으로 음표를 나타낼 수 있다고 가정. 허나 트릴과 비브라토의 경계, 꾸밈음, 시간에
따른 음의 변화는?
• 사실 이런 가정은 "악보📄"의 한계이기도 함.
• 대중 음악에서 우리가 언제까지 "악보"와 "음표"에 연연해야 하는가?
전자기타로 곡을 쓰고, 듣고, 연습하는 과정에서 "음표"는 전혀 관여하지 않는데?
133. 음악 인공지능
입력 출력 음악 정보 음악 (오디오)
음악 (오디오)
분석
Analysis
(예: 장르 분류, 코드 인식)
신호 처리
Audio Signal Processing
(예: 믹싱)
음악 정보
창작
Creation
(예: 작사, 작곡)
신호 생성
Audio Synthesis
(예: 악기 소리 합성)
음량, 음고, 나머지 (=음색 Timbre)
소리의 3요소
135. 연구 방향 제시
• 음성, 언어 모델은 충분히 접목했다. 이제 차이점에 주목하자!
• 음성 ↔ 음악은 다선율 / 다양한 음색
• 언어 ↔ 악보에 담긴 정보는 매우 제한적
136. 연구 방향 제시
• 음성, 언어 모델은 충분히 접목했다. 이제 차이점에 주목하자!
• 음성 ↔ 음악은 다선율 / 다양한 음색
• 언어 ↔ 악보에 담긴 정보는 매우 제한적
• 데이터가 부족한 상황까지 해결하는 방법론
137. 연구 방향 제시
• 음성, 언어 모델은 충분히 접목했다. 이제 차이점에 주목하자!
• 음성 ↔ 음악은 다선율 / 다양한 음색
• 언어 ↔ 악보에 담긴 정보는 매우 제한적
• 데이터가 부족한 상황까지 해결하는 방법론
• 언어, 음성, 이미지, 영상과 다른점
• 음악 제작 과정은 디지털화가 매우 잘 되어있다 → 데이터 제작 >> 데이터 수집