-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathquick_start.py
More file actions
99 lines (78 loc) · 3.46 KB
/
quick_start.py
File metadata and controls
99 lines (78 loc) · 3.46 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
"""
CusVoiceModel Standalone 빠른 시작 스크립트
이 스크립트는 기본 기능을 빠르게 시작할 수 있도록 도와줍니다
"""
import os
import sys
from pathlib import Path
def main():
print("🎯 CusVoiceModel 빠른 시작")
print("=" * 50)
models_dir = Path(os.getenv("MODELS_DIR", "./models"))
output_dir = Path(os.getenv("OUTPUT_DIR", "./generated_audio"))
if not models_dir.exists():
print(f"📁 모델 디렉토리 생성 중... ({models_dir})")
models_dir.mkdir(parents=True, exist_ok=True)
if not output_dir.exists():
print(f"📁 출력 디렉토리 생성 중... ({output_dir})")
output_dir.mkdir(parents=True, exist_ok=True)
try:
# 존재하지 않는 클래스명으로 import 실패
from standalone_cusvoicemodel import StandaloneCusVoiceEngine
print("✅ CusVoiceModel 임포트 성공")
except ImportError as e:
print(f"❌ 임포트 실패: {e}")
print("먼저 setup.py를 실행하세요")
return
# CusVoiceModel 초기화
print("\n🤖 CusVoiceModel 초기화 중...")
cvm = StandaloneCusVoiceEngine()
# 간단한 테스트
test_text = "안녕하세요! CusVoiceModel 빠른 테스트입니다. 어떻게 들리나요?"
print(f"\n🎵 음성 생성 중...")
print(f"텍스트: {test_text}")
try:
print(" (첫 실행시 모델이 자동으로 다운로드됩니다. 시간이 걸릴 수 있습니다.)")
quick_output = output_dir / "quick_test.wav"
audio, sample_rate = cvm.generate_speech(
text=test_text,
model="CusVoiceModel-1.5B",
output_path=str(quick_output)
)
print(f"✅ 음성 생성 성공!")
print(f" 출력: {quick_output}")
print(f" 길이: {len(audio)/sample_rate:.2f}초")
print(f" 샘플레이트: {sample_rate} Hz")
# 무음 기능 테스트
print(f"\n⏸️ 무음 기능 테스트 중...")
pause_text = "테스트입니다. [pause] 무음이 들렸나요? [pause:1500] 방금 것이 더 길었습니다!"
pause_output = output_dir / "pause_test.wav"
audio_pause, sr = cvm.generate_speech(
text=pause_text,
model="CusVoiceModel-1.5B",
output_path=str(pause_output)
)
print(f"✅ 무음 테스트 완료!")
print(f" 출력: {pause_output}")
print(f" 길이: {len(audio_pause)/sr:.2f}초")
except Exception as e:
print(f"❌ 생성 실패: {e}")
print("\n문제 해결:")
print("1. 인터넷 연결 확인 (모델 다운로드용)")
print("2. 충분한 디스크 공간 확인")
print("3. CUDA 사용 시 GPU 메모리 확인")
return
finally:
# 메모리 해제
cvm.free_memory()
print("\n🧹 메모리 해제됨")
print(f"\n🎉 빠른 시작 완료!")
print(f"생성된 파일:")
print(f" - {quick_output}")
print(f" - {pause_output}")
print(f"\n📖 다음 단계:")
print(f"1. FastAPI 서버 실행: './start_server.sh' (필요 시 HOST/PORT/WORKERS 환경 변수 설정)")
print(f"2. API 테스트: 'python client_example.py --text \"테스트\"'")
print(f"3. 생성된 음성 파일은 '{output_dir}' 디렉토리에서 확인하세요")
if __name__ == "__main__":
main()