Podgenai는 GPT-4 LLM을 사용하여 주어진 주제에 대한 정보 단일 스피커 오디오 북/팟 캐스트 MP3 파일을 생성하기위한 Python 3.12 응용 프로그램입니다. 생성 된 파일의 목표 지속 시간은 1 시간이지만 생성 된 지속 시간은 다양합니다. 자금 지원 OpenAI API 키가 필요합니다.
| 표제 | 링크 |
|---|---|
| 레포 | https://github.com/impredicative/podgenai |
| changelog | https://github.com/impredicative/podgenai/releases |
| 패키지 | https://pypi.org/project/podgenai |
| 팟 캐스트 | https://podcasters.spotify.com/pod/podgenai |
| 팟 캐스트 RSS | https://anchor.fm/s/f4868644/podcast/rss |
gpt-4o 및 tts-1 모델이 사용됩니다. 주어진 주제의 경우, 높은 수준의 참조 접근법은 다음과 같습니다.
ffmpeg 사용하여 연결됩니다.때때로 아층 학적으로 내용의 의미 론적 반복이있을 수 있지만,이 중요한 요점의 반복이 학습과 암기에 도움이 될 수 있기 때문에 의도적으로 "최적화"되지 않았습니다. 특정 하위 주제에 대해 더 깊이 뛰어 들기 위해서는 새 파일을 만들려고 시도 할 수 있습니다.
이 생성 된 MP3 파일은 다운로드 할 수 있습니다. 사실상, 이들은 또한 각 샘플의 고유 한 목적으로 최소 수동 테스트 스위트를 구성합니다. 알림으로, 음성은 LLM에 의해 선택됩니다.
추가 주제에 대한 에피소드가 시간이 지남에 따라 수동으로 게시 될 수있는 관련 팟 캐스트 (RSS)도 있습니다.
비 기술적 주제에는 1.05x, 기술 주제의 경우 1.0x, 외국어 주제의 경우 0.95 배의 재생 속도가 권장됩니다.
| 목소리 | 이름 | 목적 |
|---|---|---|
| 기본 | Pytorch | 기술 콘텐츠 생성 |
| 기본 | 고급 파이토치 | 고급 기술 컨텐츠 생성 |
| 기본 | 소프트웨어 엔지니어 면접 팁 | 기본 음성 선택 |
| 감정 | 뉴욕시 : 현재와 미래 | 비 기술적 컨텐츠 생성 |
| 감정 | 좋은 삶을 사는 것 | 감동적인 음성 선택 |
| 기본 | 인공 일반 지능 (AGI) : 접근 및 알고리즘 | 비 계층 평평한 단일 레벨 하위 주변 목록 시행 |
| 여성 | 인간 순환계 (abridged) | 비 변환되지 않은 접미사에 대한 암시 적 주제 지원 |
| 여성 | 버피 뱀파이어 슬레이어 | 여성 음성 선택 |
| 남성 | 얼간이를위한 비트 코인 | 남성 음성 선택 |
OPENAI_API_KEY=<your OpenAI API key> 있는 .env 라는 파일을 작성하거나 다른 방식으로 설정하십시오.PODGENAI_OPENAI_MAX_WORKERS=32 설정하고 기본값은 16입니다.ffmpeg 사용할 수 있는지 확인하십시오. 포함 된 DevContainer 정의를 사용하는 경우 자동입니다.rye 설치되어 사용 가능한지 확인하십시오.rye sync --no-lock 실행하십시오.pip install -U podgenai 통해 설치하십시오. 사용은 명령 줄 애플리케이션 또는 파이썬 라이브러리 일 수 있습니다. 기본적으로 생성 된 MP3 파일은 현재 작업 디렉토리에 기록됩니다. 2024 년 현재, 세대 당 일반적인 비용은 1 ~ 2 USD,보다 구체적으로 하위 주당 0.10 USD 미만입니다. 시간은 3 분 미만입니다.
./work/<topic>/1.*.mp3 .mp3를 삭제하고 출력을 재생하십시오.--no-markers 옵션을 참조하고 사용하십시오.사용 도움말은 다음과 같습니다.
$ python -m podgenai -h
Usage: python -m podgenai [OPTIONS]
Generate and write an audiobook podcast mp3 file for the given topic to the given output file path.
Options:
-t, --topic TEXT Topic. If not given, the user is prompted for it.
-p, --path PATH Output file or directory path. If an intended file path, it must have an ".mp3"
suffix. If a directory, it must exist, and the file name is auto-determined. If not
given, the output file is written to the current working directory with an auto-
determined file name.
-s, --max-sections INTEGER RANGE
Maximum number of sections, between 3 and 100. If not given, it is unrestricted.
[3<=x<=100]
-m, --markers / -nm, --no-markers
Include markers at the start or end of sections in the generated audio. If
`--markers`, markers are included, and this is the default. If `--no-markers`,
markers are excluded, as can be appropriate for foreign-language generation.
-c, --confirm / -nc, --no-confirm
Confirm before full-text and speech generation. If `--confirm`, a confirmation is
interactively sought as each step of the workflow progresses, and this is the
default. If `--no-confirm`, the full-text and speech are generated without
confirmations.
-h, --help Show this message and exit.
사용 예제 :
$ python -m podgenai -t "My favorite topic"
$ python -m podgenai -t "My favorite topic" -p ~/Downloads/
$ python -m podgenai -t "My favorite topic" -p ~/Downloads/topic.mp3 -nc
$ python -m podgenai -t "L'histoire de Napoléon Bonaparte (français)" -nm
>> > from podgenai import generate_media
>> > import inspect
>> > print ( inspect . signature ( generate_media ))
( topic : str , * , output_path : Optional [ pathlib . Path ] = None , max_sections : Optional [ int ] = None , markers : bool = True , confirm : bool = False ) - > pathlib . Path
>> > print ( inspect . getdoc ( generate_media )) Return the output path after generating and writing an audiobook podcast to file for the given topic.
Params:
* `topic`: Topic.
* `path`: Output file or directory path.
If an intended file path, it must have an ".mp3" suffix. If a directory, it must exist, and the file name is auto-determined.
If not given, the output file is written to the repo directory with an auto-determined file name.
* `max_sections`: Maximum number of sections to generate. It is between 3 and 100. It is unrestricted if not given.
* `markers`: Include markers at the start or end of sections in the generated audio.
If true, markers are included. If false, markers are excluded, as can be appropriate for foreign-language generation. Its default is true.
* `confirm`: Confirm before full-text and speech generation.
If true, a confirmation is interactively sought after generating and printing the list of subtopics, before generating the full-text, and also before generating the speech. Its default is false.
If failed, a subclass of the `podgenai.exceptions.Error` exception is raised.
텍스트 및 음성 세그먼트는 ./work/<topic> 디렉토리의 디스크에 로컬로 캐시됩니다. 수동으로 삭제할 수 있습니다. 이 삭제는 현재 자동이 아닙니다. 또한 캐시를 우회하는 경우 적용 가능한 캐시 파일 하나 이상을 삭제해야 할 수도 있습니다.
이 소프트웨어는 상업성, 특정 목적에 대한 적합성 및 비방 지분에 대한 보증을 포함하여 명시 적 또는 묵시적 보증없이 "그대로"제공됩니다. 어떠한 경우에도 저자 또는 저작권 보유자는 계약, 불법 행위 또는 기타 소프트웨어 또는 소프트웨어의 사용 또는 기타 거래에서 발생하는 계약, 불법 행위 또는 기타 또는 기타 책임에 대해 책임을지지 않아야합니다.
사용자는 생성 된 파일의 텍스트와 오디오가 생성 시점에 주어진 입력 및 AI 모델에 사용할 수있는 데이터를 기반으로 인공 지능 (AI)에 의해 생성된다는 것을 알고 있어야합니다. 따라서 부정확성, 오류 또는 의도하지 않은 컨텐츠가 발생할 수 있습니다. 사용자는 사용 또는 의존 전에주의를 기울이고 생성 된 콘텐츠의 정확성과 적절성을 확인하는 것이 좋습니다.
귀하는 소프트웨어가 요구하는 OpenAI API 사용과 관련된 비용에 대해 책임을지며 OpenAI API 서비스 약관을 준수해야합니다. 소프트웨어의 기능은 저자가 제어 할 수없는 OpenAI API 및 FFMPEG를 포함하되 이에 국한되지 않는 외부 서비스 및 소프트웨어의 가용성 및 기능에 따라 다릅니다.
OpenAI API 키 및 생성 된 컨텐츠 사용은 저작권법 및 OpenAI 플랫폼 서비스 약관을 포함한 모든 해당 법률 및 규정을 준수해야합니다. 귀하는 소프트웨어 사용 및 생성 된 컨텐츠 사용이 OpenAI 서비스 약관 및 기타 적용 가능한 법률 및 규정을 준수하는지 확인해야합니다.
이 소프트웨어는 LGPL에 명시된 이용 약관에 따라 개인 및 상업용 사용, 수정 및 배포를 모두 허용하는 GNU Lesser General Public License (LGPL)에 따라 라이센스가 부여됩니다. 이 프로그램과 함께 GNU Lesser General Public License 사본을 받았어야합니다. 그렇지 않은 경우 http://www.gnu.org/licenses/를 참조하십시오.
저자는이 소프트웨어를 사용하여 생성 된 컨텐츠의 소유권을 주장하지 않습니다. 생성 된 모든 콘텐츠 사용에 대한 책임은 사용자에게 달려 있습니다. 사용자는 생성 된 콘텐츠가 제 3 자의 권리를 침해하지 않도록주의와 실사를 수행해야합니다.
이 면책 조항은 통지없이 변경 될 수 있습니다. 업데이트를 위해 정기적으로 검토하는 것은 귀하의 책임입니다.