Finrandojin/alexandria-audiobook
AI-powered multi-voice audiobook generator — LLM script annotation, voice cloning, voice design, LoRA training, per-line style control, and export to MP3, chaptered M4B, or Audacity multi-track. Built on Qwen3-TTS.
Alexandria 오디오북 생성기
무엇인가요 – 일반 텍스트 책(.txt, .md, .epub)을 완전한 기능을 갖춘 오디오북으로 변환할 수 있는 로컬에서 실행 가능한 웹 애플리케이션입니다. LLM 기반의 스크립트 어노테이션 단계와 내장된 Qwen-3 텍스트-투-스피치(TTS) 엔진을 결합하여, 각 캐릭터마다 별도의 합성 음성 할당이 가능하고, 스크립트를 한 줄씩 편집하며, MP3, 챕터가 있는 M4B 파일, 또는 Audacity용 개별 캐릭터별 WAV 트랙으로 결과물을 내보낼 수 있습니다.
핵심 워크플로우 (5단계 파이프라인)
- 설정 – LLM 서버(LM Studio, Ollama, OpenAI, 또는 어떤 OpenAI 호환 API든)를 지정하고 TTS 모드(로컬 Qwen3-TTS 또는 외부 Gradio 서버)를 선택합니다.
- 스크립트 – 책을 업로드합니다. LLM이 JSON 형식의 스크립트로 분석하여 등장인물 라벨링, 자연스러운 발화 표현 추가, TTS 지시 필드 제공을 수행합니다. 선택적으로 두 번째 단계에서 "리뷰"용 LLM을 사용해 등장인물 오류를 정리합니다.
- 보이스 – 감지된 각 등장인물에 대해 다음 중 하나를 선택할 수 있습니다:
- 9개의 사전 훈련된 커스텀 보이스 중 하나를 선택.
- 짧은 참조 오디오 클립에서 보이스를 클론.
- LoRA로 미세 조정된 보이스 어댑터 사용.
- VoiceDesigner를 통해 텍스트 설명 → 합성 보이스로 실시간 생성.
- 자동으로 인물 생성: LLM이 보이스 설명을 생성하고, VoiceDesign 모델이 참조 샘플을 생성하며, 단 한 번의 클릭으로 클론을 등장인물에 연결.
- 별칭 매핑(예: YOUNG ELENA → ELENA)을 통해 여러 이름이 동일한 보이스를 공유하도록 설정.
- 에디터 – 모든 청크를 배치 렌더링(GPU 가속, 서브배치, 선택적
torch.compile로 3~4배 속도 향상). 개별 청크를 재렌더링하거나 텍스트/지시사항을 편집할 수 있으며, 전체 책을 다시 처리하지 않아도 됩니다. - 결과 – 완성된 오디오북을 미리 보기 후 다음 형식으로 다운로드:
- 자연스러운 휴지가 포함된 단일 MP3.
- 오디오북 플레이어용 챕터가 있는 M4B.
- 개별 등장인물별 WAV 파일, Audacity 프로젝트, 멀티트랙 임포트용 레이블 파일이 포함된 ZIP.
주요 기능
- LLM 기반 스크립트 어노테이션 – 자동 등장인물 감지, 대화 추출, TTS 지시 생성.
- 내장된 Qwen3-TTS – 외부 TTS 서버 없이 로컬에서 실행 가능하며, 9개의 준비된 보이스와 완전한 다국어 지원(EN, ZH, FR, DE, IT, JA, KO, PT, RU, ES 또는 자동 감지).
- 보이스 클론 및 LoRA 훈련 – 5~15초의 샘플에서 지속 가능한 보이스 정체성 생성 또는 인터랙티브 데이터셋 빌더를 통해 LoRA 어댑터 미세 조정.
- 스마트 청크 분할 및 컨텍스트 유지 – 등장인물별로 라인 그룹화(최대 500자), 이전 3개 스크립트 항목을 유지해 스타일 일관성 유지.
- 배치 처리 및 GPU 최적화 – 서브배치, 병렬 워커, 선택적
torch.compile, NVIDIA/AMD GPU용 플래시 어텐션. - 웹 UI 에디터 – 임의의 줄 편집, 선택적 재렌더링, 실시간 로그 모니터링, 즉시 오디오 미리 보기 가능.
- 내보내기 유연성 – MP3, 챕터가 있는 M4B, Audacity 대응 멀티트랙 패키지.
시스템 요구사항
| 구성 요소 | 최소 요구사항 | 추천 사항 |
|---|---|---|
| GPU | 8GB VRAM (모든 CUDA-12.8 호환 NVIDIA 또는 Linux에서 AMD) | 배치 크기를 편안하게 처리하기 위해 16GB 이상 |
| RAM | 8GB | 16GB |
| 디스크 | 약 20GB (환경 + 모델 가중치) | – |
| OS | Windows, Linux, macOS (Apple Silicon에서는 CPU 전용) | – |
| 의존성 | Pinokio 플랫폼(추천) 또는 Docker, Python 3.10+, PyTorch, Qwen3-TTS 가중치(~3.5GB/버전) | – |
설치 옵션
| 방법 | 단계 |
|---|---|
| A – Pinokio (추천) | 1. https://pinokio.computer/에서 Pinokio 설치. 2. Pinokio에서 Install via Pinokio → https://github.com/Finrandojin/alexandria-audiobook 복사 붙여넣기.3. Start 클릭 – 웹 UI가 자동으로 열림. |
| B – Google Colab | 제공된 노트북 열기, 무료 ngrok 토큰 제공 후 실행 – T4 GPU 자동 할당. 로컬 설치 필요 없음. |
| C – Docker (NVIDIA GPU) | ```bash |
| git clone https://github.com/Finrandojin/alexandria-audiobook.git | |
| cd alexandria-audiobook | |
| docker compose up --build | |
| ``` UI는 http://localhost:4200 에서 접근. |
빠른 시작 체크리스트
- LLM 서버 실행 (LM Studio, Ollama, 또는 OpenAI)하고 기준 URL과 API 키를 메모.
- Alexandria 실행 (Pinokio/Docker/Colab 경유).
- Setup 탭에서 LLM URL, 키, 모델 이름(예:
qwen2.5-14b) 입력. TTS 모드 =local선택. - Script 탭에서 책 파일 업로드 후 Generate Annotated Script 클릭.
- (옵션) Review Script 클릭하여 등장인물 오류 정리.
- Voices로 이동, Generate Personas 클릭하여 자동으로 클론 보이스 할당, 또는 수동으로 보이스 선택/사용자 정의.
- Editor로 이동, Render Pending 클릭 – 진행률 바 확인 및 미리 보기 청크 청취.
- 만족하면 Merge All 클릭 후 Result → Download에서 원하는 형식 다운로드.
도움 받는 방법
- Wiki – 보이스 유형, LoRA 훈련, 배치 튜닝, 문제 해결에 대한 자세한 가이드.
- 터미널 로그 – Pinokio의 터미널은 모델 다운로드 진행 상황, VRAM 사용량, 오류 메시지를 표시.
- 일반적인 문제 – GPU 메모리 오류, 다운로드 정지, 첫 번째 배치 웜업 지연 등은 Troubleshooting 페이지 참조.
라이선스 및 커뮤니티
리포지토리는 오픈소스(라이선스는 MIT 스타일 – 리포지토리 내 LICENSE 참조). 기여는 풀 리퀘스트로 환영하며, 이슈는 수락하지만 유지보수자가 자원이 제한되어 있어 응답이 느릴 수 있습니다.
결론 – Alexandria는 LLM 기반 스크립트 생성, 다중 캐릭터 음성 합성, 인터랙티브 편집, 유연한 내보내기까지 오디오북 제작 전 과정을 하나의 웹 UI로 통합한 도구입니다. 소비자급 GPU에서 실행 가능하며, 상용 TTS 서비스에 비용을 지불하지 않고도 품질 높은 오디오북을 제작하고 싶은 취미가 있는 사람, 팟캐스트 제작자, 누구에게나 적합합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트