
O JBark é uma poderosa biblioteca Python que se baseia nos recursos do projeto original de texto-falação de casca [https://github.com/suno-ai/bark], adicionando recursos simples de conversão de voz. Ele fornece uma interface perfeita para gerar discursos de alta qualidade a partir de texto, extrair características básicas de voz e aplicar essas características ao áudio gerado.
Os principais recursos do JBark incluem:
Esteja você desenvolvendo um assistente virtual, criando audiolivros ou trabalhando em qualquer projeto que exija síntese de fala flexível e de alta qualidade, o JBark fornece as ferramentas necessárias para dar vida às suas idéias.
Para instalar o JBark, siga estas etapas:
Certifique -se de ter o Python 3.7 ou posteriormente instalado em seu sistema.
Instale o JBark e suas dependências:
pip install jbark numpy torch scipy librosa resampy
Nota: O JBark usa a CPU para cálculos por padrão. Se você deseja usar a aceleração da GPU, instale a versão apropriada do Pytorch, habilitada para CUDA.
Aqui está um exemplo básico de como usar o JBark:
from jbark import JBark
# Initialize jBark
jbark = JBark ()
# Generate audio from text
text = "Hello, this is a test of jBark text-to-speech."
output_path = "output.wav"
audio_array = jbark . generate_audio ( text , output_path )
# Extract voice characteristics
sample_audio = "sample_voice.wav"
voice_chars = jbark . simple_voice_clone ( sample_audio )
# Generate audio with simple voice conversion
converted_text = "This is speech using simple voice conversion."
converted_output_path = "converted_output.wav"
converted_audio = jbark . generate_with_cloned_voice ( converted_text , voice_chars , converted_output_path )
# List supported languages
languages = jbark . list_supported_languages ()
print ( "Supported languages:" , languages )Este exemplo demonstra o fluxo de trabalho básico de gerar fala, extrair características de voz e aplicar a conversão simples de voz ao áudio gerado.
O JBark oferece várias opções de personalização:
AVISO SUPTRESSÃO : Por padrão, o JBARK suprime avisos comuns. Esse comportamento é tratado internamente e não requer configuração do usuário.
Predefinições de voz : Ao gerar áudio, você pode especificar uma predefinição de voz:
audio_array = jbark . generate_audio ( text , history_prompt = "v2/en_speaker_6" ) Parâmetros de conversão de voz : você pode ajustar a força do deslocamento de inclinação e do ajuste do ritmo modificando o método simple_voice_conversion na classe JBark .
__init__(self)Inicializa a instância do JBark, suprime avisos e pré -carrega os modelos necessários.
generate_audio(self, text_prompt: str, output_path: str = None, history_prompt: str = None) -> numpy.ndarrayGera áudio a partir do prompt de texto fornecido.
text_prompt : o texto a ser convertido em fala.output_path : Opcional. Caminho para salvar o áudio gerado.history_prompt : Opcional. Voz predefinida para usar.Retornos: Array Numpy contendo os dados de áudio.
simple_voice_clone(self, audio_path: str) -> dictExtrai características básicas de voz de uma amostra de áudio.
audio_path : Caminho para a amostra de áudio para extração característica de voz.Retornos: Dicionário contendo características básicas de voz (Pitch e Tempo).
generate_with_cloned_voice(self, text_prompt: str, voice_characteristics: dict, output_path: str) -> numpy.ndarrayGera áudio usando a conversão de voz simples com base em características de voz extraídas.
text_prompt : o texto a ser convertido em fala.voice_characteristics : Dicionário contendo características de voz (Pitch e Tempo).output_path : caminho para salvar o áudio gerado.Retornos: Array Numpy contendo os dados de áudio.
simple_voice_conversion(self, audio: numpy.ndarray, voice_characteristics: dict) -> numpy.ndarrayAplica a conversão simples de voz ao áudio de entrada com base nas características de voz fornecidas.
audio : entrada de áudio.voice_characteristics : Dicionário contendo características de voz (Pitch e Tempo).Retornos: Array de áudio convertido.
custom_time_stretch(self, audio: numpy.ndarray, rate: float) -> numpy.ndarrayFunção de alongamento de tempo personalizado usando reamostragem.
audio : entrada de áudio.rate : Taxa de alongamento de tempo.Retornos: Array de áudio esticado no tempo.
list_supported_languages(self) -> dictRetorna um dicionário de idiomas suportados.
O JBARK foi projetado com modularidade e extensibilidade em mente. Os principais componentes são:
A biblioteca segue um padrão de fachada, onde a classe JBark fornece uma interface simplificada para os sistemas subjacentes de texto para fala e conversão de voz.
O JBark vem com duas suítes de teste:
Suíte de teste básico ( test_jbark.py ): Para executar o conjunto de testes básicos:
python test_jbark.py
Isso iniciará um menu interativo, permitindo que você teste vários recursos da biblioteca JBark.
Suíte de teste expandido ( test2.py ): Para executar o conjunto de testes expandido:
python test2.py
Este conjunto fornece testes mais abrangentes, incluindo variações na geração de áudio, clonagem de voz, conversão de voz, suporte à linguagem, manipulação de erros e teste de desempenho.
Para depuração, você pode usar o módulo pdb integrado do Python ou um IDE como PyCharm ou VSCode.
P: Por que a geração de áudio é lenta? R: A velocidade de geração de áudio depende do seu hardware. O JBark usa a CPU para cálculos por padrão. Para um processamento mais rápido, considere usar uma máquina com uma CPU mais poderosa ou implementar o suporte à GPU.
P: Qual a eficácia da conversão de voz simples? R: O recurso de conversão de voz simples no JBark fornece ajustes básicos de afinação e ritmo. Embora possa alterar algumas características de voz, não fornece o mesmo nível de qualidade de clonagem de voz como métodos mais avançados. Os resultados podem variar dependendo do texto de entrada e das características de voz de destino.
P: Como posso melhorar a qualidade da conversão de voz? R: Use amostras de áudio de alta qualidade para extração característica de voz, idealmente com fala clara e ruído mínimo de fundo. Você também pode experimentar o ajuste dos parâmetros de mudança de afinação e de ajuste de ritmo no método simple_voice_conversion para obter melhores resultados.
P: Como uso modelos de linguagem diferentes? R: O JBark suporta vários idiomas. Você pode especificar o idioma desejado ao gerar áudio usando o código de idioma apropriado no prompt de histórico. Por exemplo:
audio = jbark . generate_audio ( "Bonjour!" , history_prompt = "v2/fr_speaker_1" ) Para uma lista de idiomas suportados e seus códigos, use o método list_supported_languages() .
Para mais perguntas e respostas, visite nossa página de problemas do Github ou junte -se ao nosso fórum da comunidade.
