ReadMe está disponível nos seguintes idiomas:
O Silero TTS é uma biblioteca Python que fornece uma maneira fácil de sintetizar a fala do texto usando vários modelos, idiomas e alto -falantes Silero TTS. Ele pode ser usado como um script independente ou integrado em seus próprios projetos Python.
pip install silero-tts
Clone o repositório:
git clone https://github.com/daswer123/silero-tts-enhanced
Instale as dependências necessárias:
pip install -r requirements.txt
Você pode usar o Silero TTS como um script independente para sintetizar a fala de arquivos de texto ou diretórios que contêm arquivos de texto.
python -m silero_tts [options]
--list-models : Lista modelos disponíveis--list-speakers : Liste os alto-falantes disponíveis para um modelo--language LANGUAGE : Especifique o código do idioma (necessário)--model MODEL : especifique o ID do modelo (padrão: versão mais recente para o idioma)--speaker SPEAKER : especifique o nome do alto-falante (padrão: Primeiro alto-falante disponível para o modelo)--sample-rate SAMPLE_RATE : Especifique a taxa de amostra (Padrão: 48000)--device DEVICE : Especifique o dispositivo a ser usado (padrão: CPU)--text TEXT : especifique o texto para sintetizar--input-file INPUT_FILE : Especifique o arquivo de texto de entrada para sintetizar--input-dir INPUT_DIR : especifique o diretório de entrada com arquivos de texto para sintetizar--output-file OUTPUT_FILE : especifique o arquivo de áudio de saída (padrão: output.wav)--output-dir OUTPUT_DIR : especifique o diretório de saída para arquivos de áudio sintetizados (padrão: saída)--log-level INFO : Especifique o nível de log, você pode desligar use nenhum valor (padrão: informações) Sintetize o discurso de um texto:
python silero_tts.py --language ru --text "Привет, мир!"
Sintetize o discurso de um arquivo de texto:
python silero_tts.py --language en --input-file input.txt --output-file output.wav
Sintetize o discurso de vários arquivos de texto em um diretório:
python silero_tts.py --language es --input-dir texts --output-dir audio
Você também pode integrar o Silero TTS em seus próprios projetos Python, importando a classe SileroTTS e usando seus métodos.
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 )A CLI do Silero TTS fornece os seguintes recursos:
--language para sintetizar a fala no idioma desejado.--model ou deixe a CLI selecionar automaticamente o modelo mais recente para o idioma especificado.--speaker ou use o alto -falante padrão para o modelo escolhido.--sample-rate .--device .--text ou especifique um arquivo de texto de entrada usando o sinalizador --input-file .--input-dir .--output-file ou o diretório de saída para processamento em lote usando o sinalizador --output-dir .--list-models .--list-speakers . Este projeto está licenciado sob a licença do MIT.