일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 확산 모델
- 일론 머스크
- TRANSFORMER
- LORA
- LLM
- 우분투
- 실시간 렌더링
- AI
- 오블완
- 다국어 지원
- tts
- 트랜스포머
- 이미지 생성
- OpenCV
- 아두이노
- 강화 학습
- 딥러닝
- 메타
- ChatGPT
- ubuntu
- 생성형 AI
- 오픈소스
- 티스토리챌린지
- 시간적 일관성
- 휴머노이드 로봇
- PYTHON
- 인공지능
- AI 기술
- 오픈AI
- OpenAI
- Today
- Total
AI 탐구노트
Zonos TTS로 음성 복제 및 문장 생성 테스트 본문
최근 인공지능 음성 합성 기술이 급속히 발전하면서 자연스러운 음성을 구현하는 다양한 서비스가 등장하고 있습니다. 그 가운데 Zonos TTS는 적은 GPU 메모리를 사용하면서도 한국어도 곧잘 음성 생성을 해 내는 반가운 모델이라고 알려져 있습니다.
ZONOS : 다국어, 감정표현도 잘 되는 오픈소스 TTS 모델
최근 인공지능 기술의 발전으로 텍스트를 자연스러운 음성으로 변환하는 TTS(Text-to-Speech) 기술이 주목받고 있습니다. 특히, 개인화된 음성 생성과 감정 표현이 가능한 모델에 대한 수요가 증가하
42morrow.tistory.com
이 모델은 주어진 텍스트를 음성으로 만드는 것에 그치지 않고 사용자 본인의 음성을 복제하는 기능도 제공합니다. 온라인 사이트에서 음성 생성 서비스를 제공하는 곳들이 다수 있긴 한데 선택 가능한 음성이 딱 원하는 목소리가 아닌 경우가 많습니다. 혹은 내 목소리를 이용해서 하고 싶은데 직접 녹음하자니 늘 들쭉날쭉이고 중간중간 발음이 새거나 틀리는 경우들이 생길 수도 있죠. 그럴 때 목소리 복제와 TTS를 이용하면 큰 도움이 됩니다.
이전에도 FishSpeech라는 TTS 모델을 이용해서 한국어 음성 합성을 해 본 적이 있었습니다. 약간의 아쉬움은 있긴 했지만 전반적으로는 만족스러운 결과였습니다. 과연 Zonos TTS는 그와 비교해 얼마나 나은지, 그리고 이 모델을 이용한 음성 복제는 어떻게 나올 것인지 테스트를 진행해 보겠습니다.
테스트 환경 설정 및 준비 과정
1) 테스트 환경
- 운영체제: 우분투 24.04 LTS
- 브라우저: Google Chrome 최신 버전
- 마이크: 일반 USB 마이크
2) 준비한 데이터
이를 통해 직접 녹음한 목소리를 이용할 수도 있고 스마트폰으로 녹음한 음성 파일을 이용할 수도 있습니다. 그런데... 제가 제 목소리를 별로 좋아하지 않는터라... (자기 목소리를 스피커로 들으면 이상하게 느껴지는 그런 것 아시죠?) 유튜브에 올라와 있는 연예인의 목소리 일부를 이용해서 테스트 해 보기로 했습니다. 그래서 제가 선택한 것은 OOO님의 목소리입니다. 나중에 최종적으로 만들어진 음성을 듣고 맞춰 보세요.^^;
3) Gradio 앱 실행
Zonos TTS에서 Gradio demo 앱을 기본적으로 포함하고 있습니다.
$ uv run gradio_interface.py
또는
$ python run gradio_interface.py
그럼 아래와 같은 화면이 뜰 겁니다. 샘플 텍스트는 기본적으로 들어 있는 , 언어는 ko로 선택해 둔 것입니다)
접혀 있는 속성 설정 가운데 화자의 음성 피치, 감정 등을 조절할 수 있는 세부 기능도 제공됩니다.
4) 음성 복제 실행
사용할 문구는 다음과 같습니다. OOO님이 방송에서 한 얘기 가운데 일부를 차용해서 만들었습니다.
게스트에게 늘 이 말은 합니다. 걱정하지 마세요. 너무 불안해하지 마세요. 괜찮아요. 예능 나와서 웃음 주는 거 결코 쉽지 않기 때문에 얘기를 해 줍니다.
복제할 음성 파일을 로딩합니다.
Gradio 설정 내용 수정을 합니다. 사실 세부적인 설정은 따로 조사하지 않아서 대충 비슷하게 나오는 조합을 사용했습니다. 기본적으로 Confidence 값은 높였고 PitchStd와 Speaking Rate 값이 중요할 것 같아서 그것만 조정하는 방식으로 해 봤습니다.
5) 복제 음성 결과 분석
이렇게 생성된 음성은 중간중간 공백을 가진 체로 생성되었습니다. 반복해서 해 보면 또 다른 패턴이 나오겠죠.
그나마 나오는 부분들은 괜찮은 것 같아서 공백 부분을 Shotcut에서 잘라서 제거해서 붙여봤습니다. 한번 들어 보시죠.
완성된 음성은 처음 듣자마자 OOO님 목소리와 유사하게 들린다는 인상을 받았습니다. 더 긴 시간의 샘플 음성으로 학습된다면 지금보다 더 나아질 수도 있을 것 같습니다. 하지만, 어디까지나 TTS 테스트이니 여기까지... ^^;
Zonos TTS를 짧게 사용해 보면서 기술의 발전 가능성을 직접 체험할 수 있었습니다. 짧은 몇 초만의 음성을 가지고 화자의 목소리와 유사한 소리를 만들 수 있다는 것이 한편으로는 참 신기하고 한편으로는 위험하다는 생각이 들었습니다. 더 많은 샘플 데이터를 이용해 복제 음성의 품질이 높아지면 실제 음성과 구분하기 힘들 것 같았기 때문입니다. 최근 사회 문제가 되고 있는 딥페이크와 보이스피싱 범죄 등이 떠오르더군요.
과거 역사를 돌아보면 기술의 진보를 막을 방법은 없었습니다. 그리고 개발 당시에는 그 기술이 악용될지 몰랐던 경우도 많이 있었습니다. 결국은 우리가 할 수 있는 최선은 새로운 기술이, 선한 목적으로 사용되도록 가이드하고 악용되는 것을 효과적으로 최소화시킬 수 있는 방법을 찾아내는 연구를 해야 하는 것이라 생각됩니다. 그러기 위해서는 어차피 이런 기술들을 또 잘 알고 있어야 하겠죠!
'DIY 테스트' 카테고리의 다른 글
DeepSite를 이용한 Vibe Coding 체험하기 (0) | 2025.04.01 |
---|---|
MIDI를 이용한 3D 객체 생성 테스트 (2) | 2025.03.17 |
포털 플랫폼에서 인기 검색어 추출 방식 조사 (0) | 2025.03.03 |
DIY로 물고기 먹이 급여기 만들어보기 (0) | 2025.01.27 |
CCTV 영상에서의 대기자 수 및 대기 시간 측정 (0) | 2025.01.19 |