인공지능응용: AI Cover

배호 노래가사로부터 텍스트를 출력해보자.

coding art 2026. 2. 6. 18:56
728x90

 

 

돌아가는 삼각지.wav 인 배호의 목소리파일로부터 구글 Colab에서 노래 가사를 텍스트로 추출해보자.

사용자 PC 의 목소리 폴더를 준비한 후 NDRIVE를 열어 이 폴더를 드래그(Drag) 하자.

이 폴더에 들어가서 Colab 코드 신규생성을 위해 +신규 버튼을 클릭한다.

 

첫 번쩨 셀에서 wav 파일을 읽기 위해 구글 마운트를 설치하여 내드라이브의 VocalSong 폴더에 포함되어 있는 돌아가는 삼각지.wav 파일을 연결한다. 내 드러ㅏ이브는 경로 설정 과정에 MyDrive 이며 예를 들어 다음과 같이 경로가 구성된다.

(”content/drive/MyDrive/VocalSong/돌아가는 삼각지.wav)

 

두 번째 openai-whisper 라이브러리 패키지를 설치한다.(!pip install openai-whisper)

세번째 다음의 파이선 코드를 실행하자.

 

이 단계에서 처음에는 무료 GPS 서비스를 사용했으나 구글 측의 Capa 부족으로 인해 강제로 메모리 규모를 large → medium 으로 변경 당했지만 역시 GPU 메모리 부족으로 오류가 발생했다.

 

결국 Gemini 가 GPU 사용을 포기하고 CPU 버전으로 강제 변경 권고와 함께 코드도 수정해버렸는데 5분가량의 CPU 실행 후 어쨋든 결과가 출력되었다. 물론 SST  알고리듬과 추출된 노래가사 목소리 학습이 동일한 것은 아니지만 학습이라는 알고리듬 차원에서 비슷한 컴퓨팅 연산 시간이 요구되지 않을까?

 

import whisper

import torch

# 모델 로드 (base, small, medium, large 등 선택 가능)

# 메모리 부족 오류로 인해 'large' 대신 'medium' 모델을 사용했으나 여전히 부족하여 CPU를 사용합니다.

device = "cpu" # GPU 메모리 부족 문제로 인해 강제로 CPU 사용

model = whisper.load_model("medium", device=device)

print(f"Whisper model loaded on {device}")

# 음성 파일 분석 (Spleeter가 생성한 경로 지정)

result = model.transcribe("/content/drive/MyDrive/VocalSong/돌아가는 삼각지.wav")

# 결과 출력

print(result["text"])

 

"이 여한승질로 외로운 사나이가 사글피 찾아왔다 울고 가는 성각지 삼각지로 다리를 헤매도는 이 발길 떠나버린 그 사랑을 그리워하며 눈물 젖어 불러보는 외로운 사나이가 하나 몰래 찾아왔다 돌아가는 성각지“

 

텍스트로 출력해 보니 잡음(Noise) 문제가 있는 듯 하다. 하지만 Appleio 를 사용하여 목소리와 반주를 Mix 해 보면 이 부분 문제가 경험적으로 사라지는 것 같다. 그대로 넵둬도 큰 문제는 없어 보인다.

 

노래 목소리를 학습하여 더빙할 수 있는 RVC-WebUI 코드 시스템이 있기는 하지만 들여다 보니 초보자가 한방에 한방에 소화하기에는 무리하지 않을까 싶다. 그 해결책으로는 구글이 제공하는 오픈소스 Colab Applio.ipynb 를 사용하는 것이 좋을 듯하다.

 

Colab Applio로 배호 노래 목소리 2개로 AI Cover 를 만들어 보자 (중요)

학습과 추론과정 둘 다 포함

https://ejleep1.tistory.com/1721

출처: https://ejleep1.tistory.com/1723 [Arduio , AI, Quantum Computing Coding:티스토리]

 

 

스스로 준비한 wav 파일을 VocalSong 폴더에 넣어  NDRIVE에 업로딩 후  작성한 SST.ipynb 코드를 실행해 보자. 

 

SST.ipynb
0.00MB