Readme доступен на следующих языках:
Silero TTS - это библиотека Python, которая обеспечивает простой способ синтезировать речь из текста, используя различные модели, языки и динамики Silero TTS. Его можно использовать в качестве автономного сценария или интегрировать в ваши собственные проекты Python.
pip install silero-tts
Клонировать репозиторий:
git clone https://github.com/daswer123/silero-tts-enhanced
Установите требуемые зависимости:
pip install -r requirements.txt
Вы можете использовать Silero TTS в качестве автономного скрипта для синтеза речи из текстовых файлов или каталогов, содержащих текстовые файлы.
python -m silero_tts [options]
--list-models : список доступных моделей--list-speakers : список доступных докладчиков для модели--language LANGUAGE : укажите язык языка (требуется)--model MODEL : укажите идентификатор модели (по умолчанию: последняя версия для языка)--speaker SPEAKER : укажите имя динамика (по умолчанию: первый доступный динамик для модели)--sample-rate SAMPLE_RATE : указать скорость дискретизации (по умолчанию: 48000)--device DEVICE : Укажите устройство для использования (по умолчанию: ЦП)--text TEXT : укажите текст, чтобы синтезировать--input-file INPUT_FILE : укажите файл ввода текста для синтеза--input-dir INPUT_DIR : укажите каталог ввода с помощью текстовых файлов для синтеза--output-file OUTPUT_FILE : укажите выходной аудиофайл (по умолчанию: output.wav)--output-dir OUTPUT_DIR : укажите выходной каталог для синтезированных аудиофайлов (по умолчанию: вывод)--log-level INFO : Укажите на уровне журнала, вы можете отключить значение none value (по умолчанию: Info) Синтезировать речь из текста:
python silero_tts.py --language ru --text "Привет, мир!"
Синтезировать речь из текстового файла:
python silero_tts.py --language en --input-file input.txt --output-file output.wav
Синтезировать речь из нескольких текстовых файлов в каталоге:
python silero_tts.py --language es --input-dir texts --output-dir audio
Вы также можете интегрировать Silero TTS в свои собственные проекты Python, импортируя класс SileroTTS и используя его методы.
from silero_tts . silero_tts import SileroTTS
# Get available models
models = SileroTTS . get_available_models ()
print ( "Available models:" , models )
# Get available languages
languages = SileroTTS . get_available_languages ()
print ( "Available languages:" , languages )
# Get the latest model for a specific language
latest_model = SileroTTS . get_latest_model ( 'ru' )
print ( "Latest model for Russian:" , latest_model )
# Get available sample rates for a specific model and language
sample_rates = SileroTTS . get_available_sample_rates_static ( 'ru' , latest_model )
print ( "Available sample rates for the latest Russian model:" , sample_rates )
# Initialize the TTS object
tts = SileroTTS ( model_id = 'v3_en' , language = 'en' , speaker = 'en_2' , sample_rate = 48000 , device = 'cpu' )
# Synthesize speech from text
text = "Hello world!"
tts . tts ( text , 'output.wav' )
# Synthesize speech from a text file
# tts.from_file('input.txt', 'output.wav')
# Get available speakers for the current model
speakers = tts . get_available_speakers ()
print ( "Available speakers for the current model:" , speakers )
# Change the language
tts . change_language ( 'en' )
print ( "Language changed to:" , tts . language )
print ( "New model ID:" , tts . model_id )
print ( "New available speakers:" , tts . get_available_speakers ())
# Change the model
tts . change_model ( 'v3_en' )
print ( "Model changed to:" , tts . model_id )
print ( "New available speakers:" , tts . get_available_speakers ())
# Change the speaker
tts . change_speaker ( 'en_0' )
print ( "Speaker changed to:" , tts . speaker )
# Change the sample rate
tts . change_sample_rate ( 24000 )
print ( "Sample rate changed to:" , tts . sample_rate )CLI Silero TTS предоставляет следующие функции:
--language для синтеза речи на желаемом языке.--model или позвольте CLI автоматически выбирать последнюю модель для указанного языка.--speaker или используйте динамик по умолчанию для выбранной модели.--sample-rate .--device .--text или укажите файл ввода текста, используя флаг --input-file флаг.--input-dir .--output-file или выходной каталог для переработки партии, используя флаг --output-dir .--list-models .--list-speakers . Этот проект лицензирован по лицензии MIT.