TTS-Joinery-это библиотека Python и инструмент CLI для оборудования ограничений длины в API-интерфейсах текста в речь.
Поскольку в настоящее время популярные API ограничены 4096 символами, эта библиотека будет:
В настоящее время поддерживается только API OpenAI, с намерением добавить больше в будущем.
pip install tts-joinery или используйте pipx для установки в качестве автономного инструмента.
Требуется FFMPEG для обработки аудиофайлов.
Установка может варьироваться в зависимости от вашей системы. На Linux вы можете использовать свой диспетчер пакетов системы. На Mac brew install ffmpeg должна работать.
CLI рассчитывает найти ключ API OpenAI в переменной среды OPENAI_API_KEY или в файле .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 clearВы также можете использовать TTS-Joinery как часть вашего проекта 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' )Взносы приветствуются, особенно другие API -интерфейсы TTS, заранее проверяйте проблемы и не стесняйтесь открывать PR. Код отформатирован с черным.
Тест можно запускать вручную. Suite включает в себя сквозные тесты с живыми вызовами API, убедитесь, что у вас есть openai_api_key, установленная в .env.test и запустите pytest . Вы можете установить зависимости разработки с pip install -e .[test]
Особая благодарность:
Этот проект лицензирован по лицензии MIT.
Copyright 2024, Эдриен Делиссерт