TTS-Joinery est une bibliothèque Python et un outil CLI pour contourner les limitations de longueur dans les API de texte vocal.
Étant donné que les API actuellement populaires sont limitées à 4096 caractères, cette bibliothèque:
Actuellement, seule l'API OpenAI est prise en charge, avec l'intention d'en ajouter plus à l'avenir.
pip install tts-joinery ou utilisez pipx pour installer comme outil autonome.
Nécessite FFMPEG pour le traitement des fichiers audio.
L'installation peut varier en fonction de votre système. Sur Linux, vous pouvez utiliser votre gestionnaire de packages système. Sur Mac brew install ffmpeg devrait fonctionner.
La CLI prévoit de trouver une clé API OpenAI dans une variable d'environnement OPENAI_API_KEY , ou dans un fichier .env.
ttsjoin [OPTIONS] [COMMAND]
Options:
--input-file FILENAME Plaintext file to process into speech, otherwise stdin
--output-file FILENAME MP3 result, otherwise stdout
--model TEXT Slug of the text-to-speech model to be used
--service TEXT API service (currently only supports openai)
--voice TEXT Slug of the voice to be used
--no-cache BOOLEAN Disable caching
--help Show this message and exit.
Commands:
cache [clear, show]
ttsjoin --input-file input.txt --output-file output.mp3 --model tts-1 --service openai --voice onyx echo " Your text to be processed " | ttsjoin > output.mp3ttsjoin --input-file input.txt --output-file output.mp3 --no-cachettsjoin cache clearVous pouvez également utiliser TTS-Joiner dans le cadre de votre projet Python:
import nltk
from joinery . op import JoinOp
from joinery . api . openai import OpenAIApi
# Only need to download once, handled for you automatically in the CLI
nltk . download ( 'punkt_tab' , quiet = True )
tts = JoinOp (
text = 'This is only a test!' ,
api = OpenAIApi (
model = 'tts-1-hd' ,
voice = 'onyx' ,
api_key = OPENAI_API_KEY ,
),
)
tts . process_to_file ( 'output.mp3' )Les contributions sont la bienvenue, en particulier les autres API TTS, vérifient les problèmes à l'avance et n'hésitez pas à ouvrir un RP. Le code est formaté avec du noir.
Le test peut être exécuté manuellement. Suite comprend des tests de bout en bout avec des appels d'API en direct, vous assurer que vous avez un ensemble Openai_API_KEY dans .env.test et exécutez pytest . Vous pouvez installer des dépendances de développement avec pip install -e .[test]
Un merci spécial à:
Ce projet est autorisé sous la licence du MIT.
Copyright 2024, Adrien DeLessert