[Audio] OpenAI Jukebox

yoonene·2022년 1월 25일
0

ML/DL

목록 보기
5/17

openAI Jukebox 이동

음악 생성 프로젝트 할 때 찾아봤던 모델 중 하나이다.
입력 형태는 waveform 파일로 music source를 separation하지 않고도 음성까지도 잘 생성하는 openAI의 모델이다.
프로젝트는 midi 파일을 사용했기 때문에 사용하지 않았지만 알아봤던 김에 간단히 정리해본다.

모델 구조

  • AutoEncoder 구조

Encoding, Embedding

  • Top-level : 필수 음악 정보만 보존 (128x로 압축)
    Middel-level (32x로 압축)
    Bottom-level : 최고품질 음질 (8x로 압축)
  • 이 3가지 level에 대해 각자 인코딩, 디코딩
  • CNN을 통해 Encoding -> VQ-VAE를 통해 양자화 임베딩하여 오디오 압축

음악 생성

  • 위 과정으로 압축된 이산 공간을 이용해 음악을 생성
  • prior 모델 사용: 단순하게 변형된 sparse transformer를 활용한 autoregressive 모델 사용
    • Top-level의 prior 모델의 결과는 오디오 품질이 낮지만 노래 및 멜로디 등 높은 수준(중요한 정보)에 대해 포착함
    • 그 밑의 middle, bottom level은 음색과 같은 로컬 음악 구조를 추가하여 오디오 품질을 크게 향상시킴

Upsampling, Decoding

  • prior 모델 학습이 완료되면 Top-level에서 코드를 생성하고 업샘플러를 통해 업샘플링한 후 VQ-VAE 디코더를 통해 디코딩하여 완성

DPR-martini blue.mp3를 bonny M 스타일, pop 장르로 생성해봄.

  • colab v100 (권장하지 않음. p100 이상 권장)
  • prior 모델까지만 거쳐서 Top-level에서 생성된 결과만 본거라 noise가 심함.
  • 그 뒤 upsampling은 시간이 너무 오래 걸려서 못함.
    -> 결과: 당연히 bonny M과 pop장르로 학습시켰던 노래들처럼 생성된 음악에 비트, 보컬 등 여러 구성이 추가됨.
profile
NLP Researcher / Information Retrieval / Search

0개의 댓글