음원에서 원하는 멤버의 목소리를 원하는 타겟 목소리로 변형시켜주는 프로그램
-
MELGAN * 폴더, pretrained_models : 데이터를 통해 목소리 변환 머신러닝을 학습시킨 파라미터, 모델을 저장하는 폴더
-
lyricparsing.py:
input
: 사용자가 선택한 음원 이름, 사용자가 올린 음원 파일output
: 멤버별 파트 타임스탬프- 가사 사이트에서 사용자가 입력한 곡의 가사와 파트별 타임스탬프를 크롤링 해온다.
-
audio_cut.py:
input
: 사용자가 선택한 멤버output
: 선택된 멤버의 파트를 기준으로 자른 음원 파일들- 사용자가 변환하고 싶은 멤버의 파트에 해당되는 음원을 잘라 저장한다. (예시: 멤버 A의 파트가 1:00부터 1:20이면 1:00, 1:20을 기준으로 음원 파일을 잘라 3파일을 생성한 뒤 저장한다)
-
voice_conversion.py
input
: 멤버의 목소리가 담긴 음원 파일output
: 멤버의 목소리가 변환된 음원 파일-
- audio_cut.py로 잘라진 음원 파일 중, 사용자가 변환하고 싶다고 지정한 멤버의 목소리가 담긴 파일을 목소리와 MR로 분리한다.
- 목소리만 담긴 파일을 input으로 해서 목소리를 변환한다. 이후 변환된 목소리 파일과 MR파일을 다시 합쳐 변환된 음원 파일을 저장한다.
-
final_mp3.py
input
: lyricparsing.py에서 저장한 멤버별 파트 타임스탬프, 잘려진 음원 파일들output
: 변환된 목소리가 담긴 완전한 음원 파일- 멤버별 파트 타임 스탬프를 바탕으로 잘려진 음원 파일들을 다시 이어붙여 하나의 완성된 음원 파일을 만든다.
-
app.py : flask를 기반으로 만든 백엔드 파일. 위에서 언급한 함수들을 사용해 서비스를 제공한다.
김현주
: 팀장, 아이디어 제공, 목소리 데이터셋 모으기, TTS 모델 학습, code 수합, flask 백엔드 개발이현주
: 목소리 데이터셋 모으기, voice conversion 모델 학습, 가사 파싱, react 프론트엔드 개발임예린
: 목소리 데이터셋 모으기, spleeter 및 파트 편집 등 음원 데이터 전처리