준비해둔 목소리로 똑같은 방법으로 학습을 진행했다.
이번에는 강승윤 - 본능적으로를 불러보게 하였다.
이번에도 이 전과 마찬가지로, 고음 부분에서 문제가 발생했다.
노래 목소리도 같이 들어갔기 때문에 어느정도 잘 나올 것이라고 예상했는데, 생각보다 고음 부분이 잘 안나온다.
나중에 끝나고 더 찾아봤는데 열 몇 시간으로는 안되고 보통 2일 정도 한다고 한다.
나는 웹 페이지하고도 연결하고 싶어서 플라스크를 이용해 코드와, 웹 페이지를 연동하려고 했다.
웹 페이지 디자인은 친구에게 부탁했다.
처음에 유튜브 url를 넣고,
원하는 목소리를 선택한 후,
여러 옵션들을 선택하고,
실행하면 준비한 코드들을 수행하여 합성된 목소리를 출력하는 방식으로 진행했다.
이런식으로 웹 페이지를 구성하고 파이썬으로 연동했다.
@app.route('/send_data_to_flask', methods=['POST'])
def send_data_to_flask():
##웹 페이지에서 보낸 데이터
data = request.get_json()
##선택한 목소리
selectedImage = data['selectedImage']
##옵션 값
key = data['sliderValue']
url = []
##변경하고 싶은 url
url.append(data['url'])
##선택한 목소리에 따라 미리 학습되어있는 모델 선택
if selectedImage == 'n__1_w':
project_name = 'kimkwangseok'
model_path = './model/kimkwangseok/model_ckpt_steps_290000.ckpt'
config_path = './model/kimkwangseok/config.yaml'
elif selectedImage == 'n__1_':
project_name = 'IU'
model_path = './model/IU/model_ckpt_steps_136000.ckpt'
config_path = './model/IU/config.yaml'
elif selectedImage == 'n__1_ba':
project_name = 'provoice'
model_path = './model/provoice/model_ckpt_steps_136000.ckpt'
config_path = './model/provoice/config.yaml'
이렇게 구성을 해 놓고 변환하기를 누르면 변환된 목소리를 출력해주는 코드를 만들었다.
먼저 웹 페이지를 구성한 다음, 목소리를 변환해 주는 코드를 이식해서 진행하려고 했으나, 갑작스럽게 오류가 발생했다.
마지막 날에 문제가 발생해서 해결할 시간이 부족했다.
발표 자료도 만들어야 했기 때문에, 코드는 넣지 않고 웹 페이지를 띄우고, 웹 페이지에서 동작 방식을 보여주고, 따로 코드에서 실행하기로 했다.