프로젝트 소개
# podgenai
podgenai는 주어진 주제에 대해 OpenAI LLM을 사용하여 정보성 단일 화자 또는 이중 화자 오디오북/팟캐스트 MP3 파일을 생성하는 Python 애플리케이션입니다. 콘텐츠는 모델의 내부 지식 또는 제공된 마크다운 소스 문서에서 가져오며, 웹 검색은 사용하지 않습니다.
## 작동 방식
주어진 주제에 대해 이 도구는:
1. LLM을 사용하여 적용 가능한 하위 주제를 나열합니다(주제가 알 수 없거나 지원되지 않으면 중단).
2. LLM을 통해 음성을 선택합니다(독백은 단일 음성, 대화는 남성 및 여성 음성).
3. 각 하위 주제에 대해 독백 텍스트를 동시에 생성합니다.
4. 레드-블랙 홀수-짝수 접근 방식을 사용하여 인접한 하위 주제 간 텍스트 중복을 제거하여 총 길이를 6-40% 줄입니다.
5. 대화의 경우 대화 텍스트와 톤 지침을 생성합니다.
6. OpenAI TTS 모델을 사용하여 텍스트를 음성으로 동시에 변환합니다.
7. `ffmpeg`로 오디오 세그먼트를 연결하고 부분과 하위 주제 사이에 일시 정지를 추가합니다.
## 사용 모델
- **지식 모델**(`gpt-6-sol`): 하위 주제 나열, 음성 선택, 독백 텍스트 생성(내부 지식 기반), 대화 텍스트 생성
- **텍스트 모델**(`gpt-6-sol`): 소스 문서에서 독백 텍스트 생성, 중복 제거
- **TTS 모델**(`gpt-4o-mini-tts-2025-12-15`): 음성 생성
## 사용법
- [OpenAI API 키](https://platform.openai.com/api-keys) 필요
- 기본 출력 지속 시간은 약 1시간을 목표로 하며, 포괄적인 범위는 종종 여러 시간 분량의 파일을 생성합니다.
- `--max-sections`(최소 3)로 섹션을 제한하여 지속 시간을 제어할 수 있습니다.
- 단일 화자(`--speakers 1`) 및 이중 화자 모드를 지원합니다.
- `--document`를 통해 마크다운 소스 문서를 허용합니다.
- 출력에는 섹션 경계에 오디오 마커가 포함될 수 있습니다.
- `./work/<topic>` 디렉토리에 로컬로 캐시됩니다.
## 구성
- `.env` 파일 또는 환경에 `OPENAI_API_KEY` 설정
- 선택적으로 `PODGENAI_OPENAI_MAX_WORKERS` 설정(기본값: 16, 최대: 32)
- 오디오 연결을 위해 `ffmpeg` 및 `ffprobe` 필요
## 비용 추정
10시간 팟캐스트의 경우 대략 $10 USD이며, 대부분의 비용은 TTS 생성에서 발생합니다. 더 짧은 지속 시간은 비례적으로 비용이 낮아집니다.
## 출력 형식
- 오디오북/팟캐스트 소비를 위한 생성된 MP3 파일
- 권장 재생 속도: 비기술 주제는 1.05배, 기술 주제는 1.0배, 외국어 콘텐츠는 0.95배
## 설치
PyPI를 통해 사용 가능: `pip install podgenai` 또는 `uv add podgenai`
`generate_media()` 함수를 사용하여 Python 라이브러리로도 사용할 수 있습니다.
## 라이선스
GNU 약소 일반 공중 사용 허가서(LGPL)
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.