Este tutorial é uma contribuição da comunidade e não é suportado pela equipe Nullcore. Serve apenas como uma demonstração sobre como personalizar o Nullcore para o seu caso de uso específico. Quer contribuir? Confira o tutorial contribuinte.
Integraçãoopenedai-speech
em webui aberto usando o Docker
O que éopenedai-speech
Openedai-discreeché um servidor de texto para fala em áudio/discurso do OpenAi Audio/Speech.
Serve o/v1/audio/speech
endpoint e fornece uma experiência gratuita e privada de texto em fala, com recursos de clonagem de voz personalizados. Este serviço não é de forma alguma afiliado ao OpenAI e não requer uma chave da API OpenAI.
Requisitos
- Docker instalado em seu sistema
- Abrir webui em execução em um contêiner do Docker
- Compreensão básica do Docker e Docker Compose
Opção 1: Usando o Docker Compose
Etapa 1: crie uma nova pasta para oopenedai-speech
serviço
Crie uma nova pasta, por exemplo,openedai-speech-service
, para armazenar odocker-compose.yml
espeech.env
arquivos.
Etapa 2: clonar oopenedai-speech
Repositório do Github
Git clone https://github.com/matatonic/openedai-speech.git
Isso vai baixar oopenedai-speech
Repositório da sua máquina local, que inclui os arquivos do Docker Compõe (docker-compose.yml
, Assim,docker-compose.min.yml
, edocker-compose.rocm.yml
) e outros arquivos necessários.
Etapa 3: renomear osample.env
arquivo paraspeech.env
(Personalizar se necessário)
Noopenedai-speech
pasta repositório, crie um novo arquivo chamadospeech.env
com o seguinte conteúdo:
Tts_home = Voices
Hf_home = Voices
#Pré -ad_model = xtts
#Pré -ad_model = xtts_v2.0.2
#Pré -ad_model = parler-tts/parler_tts_mini_v0.1
#Extra_args =-Debug de nível de log --unload-timer 300
#Use_rocm = 1
Etapa 4: Escolha um arquivo de composição do Docker
Você pode usar qualquer um dos seguintes arquivos do Docker compor:
- docker-compose.yml: Este arquivo usa o
ghcr.io/matatonic/openedai-speech
imagem e construção deDockerfile - docker-compose.min.yml: Este arquivo usa o
ghcr.io/matatonic/openedai-speech-min
imagem e construção deDockerfile.Min. Esta imagem é uma versão mínima que inclui apenas suporte a Piper e não requer uma GPU. - docker-compose.rocm.yml: Este arquivo usa o
ghcr.io/matatonic/openedai-speech-rocm
imagem e construção deDockerfilecom suporte ROCM.
Etapa 4: Construa a imagem escolhida do Docker
Antes de executar o arquivo de composição do Docker, você precisa criar a imagem do Docker:
- Nvidia GPU (suporte CUDA)
Docker Build -t ghcr.io/matatonic/openedai -fals.
- AMD GPU (suporte ROCM)
Docker Build -F Dockerfile--Build-Arg use_rocm = 1 -t ghcr.io/matatonic/openedai-speech-rocm.
- Somente CPU, sem GPU (somente Piper)
Docker Build -f Dockerfile.min-t ghcr.io/matatonic/openedai-speech-min.
Etapa 5: execute o corretodocker compose up -d
comando
- Nvidia GPU (suporte CUDA): Execute o seguinte comando para iniciar o
openedai-speech
Serviço no modo destacado:
Docker compõe -d
- AMD GPU (suporte ROCM): Execute o seguinte comando para iniciar o
openedai-speech
Serviço no modo destacado:
Docker Compose -f Docker-compose.rocm.yml up -d
- ARM64 (Apple M-Series, Raspberry Pi): O XTTS só tem suporte à CPU aqui e será muito lento. Você pode usar a imagem da NVIDIA para XTTS com CPU (lenta) ou usar a imagem somente Piper (recomendada):
Docker Compose -f Docker-compose.min.yml up -d
- Somente CPU, sem GPU (somente Piper): Para uma imagem mínima do Docker com apenas suporte a Piper (<1 GB vs. 8 GB):
Docker Compose -f Docker-compose.min.yml up -d
Isso começará oopenedai-speech
serviço no modo destacado.
Opção 2: Usando comandos do Docker Run
Você também pode usar os seguintes comandos do Docker Run para iniciar oopenedai-speech
Serviço no modo destacado:
- Nvidia GPU (CUDA): Execute o seguinte comando para construir e iniciar o
openedai-speech
serviço:
Docker Build -t ghcr.io/matatonic/openedai -fals.
Docker Run -D - -GPUS = All -P 8000: 8000 -V Voices:/App/Voices -v Config:/App/Config -Name aberto
- ROCM (AMD GPU): Execute o seguinte comando para construir e iniciar o
openedai-speech
serviço:
Para ativar o suporte do ROCM, descomamento do
#USE_ROCM=1
linha nospeech.env
arquivo.
Docker Build -F Dockerfile--Build-Arg use_rocm = 1 -t ghcr.io/matatonic/openedai-speech-rocm.
Docker Run -D --Privileged -Init - -Nome Openedai -fals -P 8000: 8000 -V Voices:/App/Voices -v Config:/App/config ghcr.io/matatonic/openedai-speech -rocm
- Somente CPU, sem GPU (somente Piper): Execute o seguinte comando para construir e iniciar o
openedai-speech
serviço:
Docker Build -f Dockerfile.min-t ghcr.io/matatonic/openedai-speech-min.
Docker Run -d -p 8000: 8000 -V Voices:/App/Voices -v Config:/App/config - -name aberto
Etapa 6: configurando o webui aberto para usaropenedai-speech
para TTS
Abra as configurações abertas da Webui e navegue até as configurações TTS emPainel de administrador> Configurações> Áudio. Adicione a seguinte configuração:
- URL base da API
http://host.docker.internal:8000/v1
- Chave da API
sk-111111111
(Observe que esta é uma chave da API dummy, comoopenedai-speech
não requer uma chave de API. Você pode usar o que quiser para este campo, desde que seja preenchido.)
Etapa 7: Escolha uma voz
SobTTS Voice
No mesmo menu de configurações de áudio no painel de administrador, você pode definir oTTS Model
para usar das seguintes opções abaixo dissoopenedai-speech
suportes. As vozes desses modelos são otimizadas para o idioma inglês.
tts-1
outts-1-hd
alloy
, Assim,echo
, Assim,echo-alt
, Assim,fable
, Assim,onyx
, Assim,nova
, eshimmer
tts-1-hd
é configurável; usa amostras abertas por padrão)
Etapa 8: pressioneSave
Para aplicar as mudanças e começar a desfrutar de vozes naturais
Pressione oSave
Botão para aplicar as alterações às suas configurações de webui aberto. Atualize a página para que a alteração entre em vigor e goste de usaropenedai-speech
Integração dentro do webui aberto para ler as respostas de texto em voz alta com a fala em fala em uma voz natural.
Detalhes do modelo:
openedai-speech
Suporta vários modelos de texto em fala, cada um com seus próprios pontos fortes e requisitos. Os seguintes modelos estão disponíveis:
- Piper TTS(muito rápido, é executado na CPU): use o seu próprioVozes de Piperatravés do
voice_to_speaker.yaml
arquivo de configuração. Este modelo é ótimo para aplicações que requerem baixa latência e alto desempenho. Piper TTS também suportamultilíngueVozes. - Coqui ai/tts xtts v2(Rápido, mas requer cerca de 4 GB de GPU VRAM e GPU NVIDIA com CUDA): Este modelo usa a tecnologia de clonagem de voz XTTS V2 da Coqui AI para gerar vozes de alta qualidade. Embora exija uma GPU mais poderosa, ela fornece excelente desempenho e áudio de alta qualidade. Coqui também suportamultilíngueVozes.
- Suporte beta parler-tts(Experimental, mais lento): Este modelo usa a estrutura do Parler-TTS para gerar vozes. Enquanto está atualmente na versão beta, ele permite que você descreva recursos muito básicos da voz do alto -falante. A voz exata será um pouco diferente a cada geração, mas deve ser semelhante à descrição do alto -falante fornecida. Para inspirar como descrever vozes, consulteDescrição do texto para a fala
Solução de problemas
Se você encontrar algum problema integrandoopenedai-speech
Com o Nullcore, siga estas etapas de solução de problemas:
- Verificar
openedai-speech
serviço: Verifique se oopenedai-speech
O serviço está em execução e a porta que você especificou no arquivo Docker-Compose.yml está exposta. - Verifique o acesso a host.docker.internal: Verifique se o nome do host
host.docker.internal
é resolvível em dentro do contêiner aberto webui. Isso é necessário porqueopenedai-speech
é exposto vialocalhost
no seu PC, masopen-webui
Normalmente não pode acessá -lo de dentro de seu recipiente. Você pode adicionar um volume aodocker-compose.yml
Arquivo para montar um arquivo do host para o contêiner, por exemplo, para um diretório que será servido pelo Openedai-discreech. - Revise a configuração da chave da API: Verifique se a chave da API está definida como um valor fictício ou efetivamente deixada sem controle
openedai-speech
não requer uma chave de API. - Verifique a configuração de voz: Verifique se a voz que você está tentando usar para TTS existe em seu
voice_to_speaker.yaml
O arquivo e os arquivos correspondentes (por exemplo, arquivos XML de voz) estão presentes no diretório correto. - Verifique os caminhos do modelo de voz: Se você está enfrentando problemas com o carregamento do modelo de voz, verifique se os caminhos em seu
voice_to_speaker.yaml
O arquivo corresponde aos locais reais dos seus modelos de voz.
Dicas adicionais para solucionar problemas
- Verifique os logs da abertura-falação quanto a erros ou avisos que podem indicar onde está o problema.
- Verifique se o
docker-compose.yml
O arquivo está configurado corretamente para o seu ambiente. - Se você ainda está enfrentando problemas, tente reiniciar o
openedai-speech
Serviço ou todo o ambiente do Docker. - Se o problema persistir, consulte o
openedai-speech
Repositório do GitHub ou procure ajuda em um fórum comunitário relevante.
Perguntas frequentes
Como posso controlar o alcance emocional do áudio gerado?
Não há mecanismo direto para controlar a produção emocional do áudio gerado. Certos fatores, como capitalização ou gramática, podem afetar o áudio de saída, mas os testes internos produziram resultados mistos.
Onde os arquivos de voz são armazenados? E o arquivo de configuração?
Os arquivos de configuração, que definem as vozes disponíveis e suas propriedades, são armazenados no volume de configuração. Especificamente, as vozes padrão são definidas em voz_to_speaker.default.yaml.
Recursos adicionais
Para obter mais informações sobre como configurar o webui aberto para usaropenedai-speech
, incluindo a definição de variáveis de ambiente, consulte oAbra a documentação da Webui
Para mais informações sobreopenedai-speech
, por favor visite oRepositório do GitHub
Como adicionar mais vozes ao Openedai-fala: Voas personalizadas-Howto
Você pode alterar o número da porta nodocker-compose.yml
arquivo para qualquer porta aberta e utilizável, mas não se esqueça de atualizar oURL base da APInas configurações de áudio do Nullcore Admin de acordo.