AI로 목소리를 학습하여 노래를 부르게 하자! #5

Apic·2023년 7월 25일
0

심심한 프로젝트

목록 보기
12/18

새로운 목소리 결과

준비해둔 목소리로 똑같은 방법으로 학습을 진행했다.

이번에는 강승윤 - 본능적으로를 불러보게 하였다.

이번에도 이 전과 마찬가지로, 고음 부분에서 문제가 발생했다.
노래 목소리도 같이 들어갔기 때문에 어느정도 잘 나올 것이라고 예상했는데, 생각보다 고음 부분이 잘 안나온다.

나중에 끝나고 더 찾아봤는데 열 몇 시간으로는 안되고 보통 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'

이렇게 구성을 해 놓고 변환하기를 누르면 변환된 목소리를 출력해주는 코드를 만들었다.

먼저 웹 페이지를 구성한 다음, 목소리를 변환해 주는 코드를 이식해서 진행하려고 했으나, 갑작스럽게 오류가 발생했다.

마지막 날에 문제가 발생해서 해결할 시간이 부족했다.
발표 자료도 만들어야 했기 때문에, 코드는 넣지 않고 웹 페이지를 띄우고, 웹 페이지에서 동작 방식을 보여주고, 따로 코드에서 실행하기로 했다.

profile
코딩 공부하는 사람

0개의 댓글