O TTS-Yoinery é uma biblioteca Python e uma ferramenta CLI para contornar as limitações de comprimento nas APIs de texto em fala.
Como as APIs atualmente populares são limitadas a 4096 caracteres, esta biblioteca será:
Atualmente, apenas a API do OpenAI é suportada, com a intenção de adicionar mais no futuro.
pip install tts-joinery ou use pipx para instalar como uma ferramenta independente.
Requer FFMPEG para o processamento do arquivo de áudio.
A instalação pode variar dependendo do seu sistema. No Linux, você pode usar o gerenciador de pacotes do sistema. No Mac brew install ffmpeg deve funcionar.
A CLI espera encontrar uma chave de API do OpenAI em uma variável de ambiente OPENAI_API_KEY , ou em um arquivo .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 clearVocê também pode usar o TTS-Yoinery como parte do seu projeto 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' )As contribuições são bem -vindas, particularmente outras APIs do TTS, verifiquem os problemas de antemão e sinta -se à vontade para abrir um PR. O código é formatado com preto.
O teste pode ser executado manualmente. A suíte inclui testes de ponta a ponta com chamadas de API ao vivo, verifique se você tem um OpenAI_API_KEY definido no .env.test e execute pytest . Você pode instalar dependências de desenvolvimento com pip install -e .[test]
Agradecimentos especiais a:
Este projeto está licenciado sob a licença do MIT.
Copyright 2024, Adrien Delesersert