Music genre transfer
Intro
음악의 장르를 변경하는 모델을 만드는 프로젝트입니다.
Data는 waveform Domain입니다. source와 target장르의 특성을 이해하고 이에 맞게 변환하는 모델을 학습하는것이 목표입니다.
최근 발전된 사전학습 모델을 활용하여 source 장르의 feature vector를 뽑고 target 장르의 feature vector로 변환한 후 vocoder를 통해 waveform output을 생성합니다.
이 프로젝트에서는 다양한 장르의 음악을 국악 장르로 변환을 시도하고자 합니다.
모델 아키텍처
1. embedding vector 추출
Audio Domain은 1초에 수만개의 vector로 이루어져 있기 때문에 바로 학습하기가 쉽지 않습니다. 이를 해결하기 위해 사전학습된 wavlm을 통해 feature vector를 뽑습니다. 추출된 vector에는 content 정보와 음색등의 정보가 담겨있습니다.
시도할것
1. feature vector를 nomalization 해서 음색을 없앨수 있는지?
음악에는 다양한 악기가 사용되고 저마다의 음색이 다 다르기에 학습할때 음색정보를 없애고 박자, 에너지등의 content만 남길수있는지, 혹은 각각 다른 장르의 분포를 한 클러스터로 모을수있는지 확인합니다.
이는 각 장르가 가지는 특성을 더 잘 이해하고 학습하게합니다.
- 각 장르의 embedding vector를 시각화해서 분포를 확인해보기
- vocoder를 사용해서 nomalization 된 feature vector를 변경하며 확인해봅니다. (knn -vc vocoder 사용해보기)
2. 장르 변환 모델
장르의 특성을 이해하고 변환해야합니다. 각 장르의 전체적인 맥락을 이해하고 변환해야합니다. 이는 학습된 언어의 특성 기반으로 문장을 이해하고 번역하는 기계번역과 비슷하다고 가정합니다 Transformer 모델구조를 사용합니다.
3. Knn으로 음색 입히기
knn방식으로 국악 음악에서 가장 유사도가 높은 k개의 평균으로 음색 특성을 입힙니다.
4. Vocoder
Hifi gan을 사용합니다.
계획
1. EDA
- 차원축소 방법(PCA, T-SNE)를 사용해서 wavlm으로 추출된 음악 장르의 분포를 확인합니다.
-
2. DATA
- 크롤링을 통해 국악 버전 음악 데이터를 수집하고 원본 음악과 대조해서 시간을 맞춥니다.
-
- feature vector를 변환해서 source 데이터가 가지고 있는 음악장르의 특성을 제거해봅니다
3. Modeling
4. Experiment
5. 코드 및 프로젝트 정리 + github 공유
'AI > 프로젝트' 카테고리의 다른 글
[music style transfer] 중간 결과 및 시도할것 (0) | 2023.06.23 |
---|---|
[music style transfer] 6 (0) | 2023.05.15 |
[music style transfer] 5 (0) | 2023.05.08 |
[music style transfer] 4 (0) | 2023.05.07 |
[music style transfer] 3 (0) | 2023.04.30 |