Podgenai เป็นแอปพลิเคชั่น Python 3.12 เพื่อสร้างไฟล์ AudioBook/Podcast MP3 ที่ให้ข้อมูลในหัวข้อที่กำหนดโดยใช้ GPT-4 LLM ระยะเวลาเป้าหมายของไฟล์ที่สร้างขึ้นคือหนึ่งชั่วโมงแม้ว่าระยะเวลาที่สร้างจะแตกต่างกันไป จำเป็นต้องมีคีย์ OpenAI API ที่ได้รับทุน
| คำบรรยายภาพ | การเชื่อมโยง |
|---|---|
| repo | https://github.com/impredicative/podgenai |
| การเปลี่ยนแปลง | 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.95x สำหรับหัวข้อภาษาต่างประเทศ
| เสียง | ชื่อ | วัตถุประสงค์ |
|---|---|---|
| ค่าเริ่มต้น | pytorch | การสร้างเนื้อหาทางเทคนิค |
| ค่าเริ่มต้น | pytorch ขั้นสูง | การสร้างเนื้อหาทางเทคนิคขั้นสูง |
| ค่าเริ่มต้น | เคล็ดลับการสัมภาษณ์งานวิศวกรซอฟต์แวร์ | การเลือกเสียงเริ่มต้น |
| อารมณ์ | นิวยอร์กซิตี้: ปัจจุบันและอนาคต | การสร้างเนื้อหาที่ไม่ใช่ด้านเทคนิค |
| อารมณ์ | มีชีวิตที่ดี | การเลือกเสียงอารมณ์ |
| ค่าเริ่มต้น | ข่าวกรองทั่วไป (AGI): แนวทางและอัลกอริทึม | การบังคับใช้รายการย่อยระดับย่อยแบบแบนแบบแบน |
| หญิง | ระบบไหลเวียนโลหิตของมนุษย์ (ไม่ติด) | การสนับสนุนหัวข้อโดยนัยสำหรับคำต่อท้ายที่ไม่ได้ย่อ |
| หญิง | บัฟฟี่ผู้สังหารแวมไพร์ | การเลือกเสียงหญิง |
| ชาย | bitcoin สำหรับ nerds | การเลือกเสียงชาย |
.env ด้วยตัวแปรสภาพแวดล้อมที่ต้องการ OPENAI_API_KEY=<your OpenAI API key> หรือตั้งค่าในวิธีที่แตกต่างกันPODGENAI_OPENAI_MAX_WORKERS=32 สำหรับการสร้างที่เร็วขึ้นโดยมีค่าเริ่มต้นเป็น 16ffmpeg นี่เป็นไปโดยอัตโนมัติหากใช้คำจำกัดความของ DevContainerrye การติดตั้งและมีอยู่แล้วrye sync --no-lockpip install -U podgenai การใช้งานอาจเป็นแอปพลิเคชันบรรทัดคำสั่งหรือเป็นไลบรารี Python โดยค่าเริ่มต้นไฟล์ MP3 ที่สร้างขึ้นจะถูกเขียนไปยังไดเรกทอรีการทำงานปัจจุบัน ตั้งแต่ปี 2024 ค่าใช้จ่ายทั่วไปต่อรุ่นคือ 1 ถึง 2 USD โดยเฉพาะภายใต้ 0.10 USD ต่อหัวข้อย่อย เวลาใช้เวลาไม่ถึงสามนาที
./work/<topic>/1.*.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 และกฎหมายและข้อบังคับอื่น ๆ ที่เกี่ยวข้อง
ซอฟต์แวร์นี้ได้รับใบอนุญาตภายใต้ใบอนุญาตสาธารณะ GNU Lesser General Public (LGPL) ซึ่งช่วยให้การใช้งานส่วนตัวและเชิงพาณิชย์การดัดแปลงและการกระจายอยู่ภายใต้ข้อกำหนดและเงื่อนไขที่กำหนดไว้ใน LGPL คุณควรได้รับสำเนาใบอนุญาตสาธารณะ GNU Lesser ทั่วไปพร้อมกับโปรแกรมนี้ ถ้าไม่ดู http://www.gnu.org/licenses/
ผู้เขียนไม่เรียกร้องความเป็นเจ้าของเนื้อหาใด ๆ ที่สร้างขึ้นโดยใช้ซอฟต์แวร์นี้ ความรับผิดชอบในการใช้เนื้อหาใด ๆ ที่สร้างขึ้นกับผู้ใช้ ผู้ใช้ควรใช้ความระมัดระวังและตรวจสอบสถานะเพื่อให้แน่ใจว่าเนื้อหาที่สร้างขึ้นไม่ได้ละเมิดสิทธิ์ของบุคคลที่สาม
ข้อจำกัดความรับผิดชอบนี้อาจมีการเปลี่ยนแปลงโดยไม่ต้องแจ้งให้ทราบล่วงหน้า เป็นความรับผิดชอบของคุณในการตรวจสอบการอัปเดตเป็นระยะ