Podgenai est une application Python 3.12 pour générer un fichier MP3 audio-speaker informationnel / podcast sur un sujet donné en utilisant le GPT-4 LLM. La durée ciblée du fichier généré est d'une heure, bien que la durée générée varie. Une clé API OpenAI financée est requise.
| Légende | Lien |
|---|---|
| Repo | https://github.com/impredicative/podgenai |
| Changelog | https://github.com/impredicative/podgenai/releases |
| Emballer | https://pypi.org/project/podgenai |
| Podcast | https://podcasters.spotify.com/pod/podgenai |
| RSS du podcast | https://anchor.fm/s/f4868644/podcast/rss |
Les modèles gpt-4o et tts-1 sont utilisés. Pour un sujet donné, l'approche de référence de haut niveau est:
ffmpeg .Bien qu'il puisse parfois exister une répétition sémantique du contenu à travers les sous-thèmes, cela n'a pas intentionnellement été "optimisé" parce que cette répétition de points importants peut aider à l'apprentissage et à la mémorisation. Pour plonger plus profondément dans un sous-topique particulier, on peut essayer de créer un nouveau fichier juste pour cela.
Ces fichiers MP3 générés sont disponibles en téléchargement. En effet, ceux-ci constituent également une suite de test manuelle minimale, avec le but unique de chaque échantillon noté. Pour rappel, la voix est sélectionnée par le LLM.
Il existe également un podcast connexe (RSS) auquel les épisodes sur des sujets supplémentaires peuvent être affichés manuellement au fil du temps.
Une vitesse de lecture de 1,05x est recommandée pour des sujets non techniques, 1,0x pour les sujets techniques et 0,95x pour les sujets de langue étrangère.
| Voix | Nom | But |
|---|---|---|
| Défaut | Pytorch | Génération de contenu technique |
| Défaut | Pytorch avancé | Génération de contenu technique avancé |
| Défaut | Conseils d'entretien d'emploi ingénieurs logiciels | Sélection de voix par défaut |
| Sensible | New York City: présent et futur | Génération de contenu non technique |
| Sensible | Vivre une bonne vie | Sélection de la voix émotive |
| Défaut | Intelligence générale artificielle (AGI): approches et algorithmes | Application de la liste subtologique à un niveau inlassable non hiérarchique |
| Femelle | Système circulatoire humain (non abrégé) | Support de sujet implicite pour le suffixe non abrégé |
| Femelle | Buffy The Vampire Slayer | Sélection de la voix féminine |
| Mâle | Bitcoin pour les nerds | Sélection de la voix masculine |
.env , avec la variable d'environnement prévue OPENAI_API_KEY=<your OpenAI API key> , ou le définissez d'une manière différente.PODGENAI_OPENAI_MAX_WORKERS=32 pour une génération plus rapide, sa valeur par défaut étant de 16.ffmpeg est disponible. Ceci est automatique si vous utilisez la définition de DevContainer incluse.rye est installé et disponible.rye sync --no-lock .pip install -U podgenai . L'utilisation peut être une application de ligne de commande ou en tant que bibliothèque Python. Par défaut, le fichier MP3 généré sera écrit dans le répertoire de travail actuel. En 2024, le coût typique par génération est de 1 à 2 USD, plus spécifiquement moins de 0,10 USD par sous-topique. Le temps pris est inférieur à trois minutes.
./work/<topic>/1.*.mp3 et régénérez la sortie.--no-markers .L'aide d'utilisation est copiée ci-dessous:
$ 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.
Exemples d'utilisation:
$ 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.
Les segments de texte et de discours sont mis en cache localement sur le disque dans le répertoire ./work/<topic> . Ils peuvent être supprimés manuellement. Cette suppression n'est actuellement pas automatique. De plus, il peut actuellement être nécessaire de supprimer un ou plusieurs fichiers mis en cache applicables si le cache doit être contourné.
Ce logiciel est fourni "tel quel", sans garantie d'aucune sorte, express ou implicite, y compris, mais sans s'y limiter, les garanties de qualité marchande, d'adéquation à un usage particulier et de non-contrefaçon. En aucun cas, les auteurs ou les titulaires de droits d'auteur ne seront pas responsables de toute réclamation, dommage ou autre responsabilité, que ce soit dans une action de contrat, de délit ou autre, découlant de, ou en relation avec le logiciel ou l'utilisation ou d'autres transactions dans le logiciel.
Les utilisateurs doivent être conscients que le texte et l'audio des fichiers générés sont produits par l'intelligence artificielle (AI) en fonction des entrées données et des données disponibles pour le modèle d'IA au moment de la génération. En tant que tels, des inexactitudes, des erreurs ou un contenu involontaire peuvent se produire. Il est conseillé aux utilisateurs de faire preuve de prudence et de vérifier l'exactitude et la pertinence du contenu généré avant toute utilisation ou recours.
Vous êtes responsable des coûts associés à l'utilisation de l'API OpenAI, comme l'exige le logiciel, et vous devez vous conformer aux conditions d'utilisation de l'API OpenAI. La fonctionnalité du logiciel dépend de la disponibilité et des fonctionnalités des services et logiciels externes, y compris, mais sans s'y limiter, l'API OpenAI et FFMPEG, sur lesquelles les auteurs n'ont aucun contrôle.
L'utilisation de la clé API OpenAI et de tout contenu généré doit être conforme à toutes les lois et réglementations applicables, y compris les lois sur le droit d'auteur et les conditions d'utilisation de la plate-forme OpenAI. Vous êtes seul responsable de vous assurer que votre utilisation du logiciel et de tout contenu généré est conforme aux conditions d'utilisation OpenAI et à toute autre lois et réglementations applicables.
Ce logiciel est sous licence en vertu de la licence GNU Unser General Public (LGPL), qui permet une utilisation, une modification et une distribution privées et commerciales, sous réserve des termes et conditions énoncés dans le LGPL. Vous auriez dû recevoir une copie de la licence publique GNU Unser-General avec ce programme. Sinon, voir http://www.gnu.org/licenses/.
Les auteurs ne réclament pas la propriété d'aucun contenu généré à l'aide de ce logiciel. La responsabilité de l'utilisation de tout contenu généré repose avec l'utilisateur. Les utilisateurs doivent faire preuve de prudence et de diligence raisonnable pour garantir que le contenu généré n'encourage pas les droits des tiers.
Cet avertissement est sujet à changement sans préavis. Il est de votre responsabilité de le revoir périodiquement pour les mises à jour.