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çãoopenai-edge-tts
🗣️ com webui aberto
O que éopenai-edge-tts
OpenAi Edge TTSé uma API de texto em fala que imita o terminal da API OpenAI, permitindo um substituto direto em cenários em que você pode definir o URL do terminal, como no Nullcore.
Ele usa oEdge-ttsPacote, que aproveita o recurso "Leia em voz alta" do navegador Edge para imitar uma solicitação à Microsoft / Azure, a fim de receber um texto em fala de alta qualidade de alta qualidade gratuitamente.
Como é diferente de 'OpenEdai-fala'?
Semelhante aOpenedai-discreech, Assim,OpenAi-Edge-ttsé um ponto final da API de texto em fala que imita o endpoint da API OpenAI, permitindo um substituto direto em cenários em que o terminal de fala do OpenAI é chamável e o URL do terminal do servidor pode ser configurado.
openedai-speech
é uma opção mais abrangente que permite uma geração de fala inteiramente offline, com muitas modalidades para escolher.
openai-edge-tts
é uma opção mais simples que usa um pacote python chamadoedge-tts
Para gerar o áudio.
Requisitos
- Docker instalado em seu sistema
- Nullcore em execução
Start Início rápido
A maneira mais simples de começar sem ter que configurar nada é executar o comando abaixo
Docker Run -d -p 5050: 5050 Travisvn/OpenAi -Edge -TTS: mais recente
Isso executará o serviço na porta 5050 com todas as configurações padrão
Configurando o webui aberto para usaropenai-edge-tts
- Abra o painel de administrador e vá para
Settings
Audio
- Defina suas configurações TTS para corresponder à captura de tela abaixo
- Nota: você pode especificar a voz TTS aqui
A chave da API padrão é a stringyour_api_key_here
. Você não precisa alterar esse valor se não precisar da segurança adicional.
E é isso! Você pode terminar aqui
Por favor ⭐️ Estrela o repo no github se você encontrarOpenAi Edge TTSútil
Correndo com Python
🐍 Correndo com Python
Se você preferir executar este projeto diretamente com o Python, siga estas etapas para configurar um ambiente virtual, instalar dependências e iniciar o servidor.
1. Clone o repositório
Git clone https://github.com/travisvn/openai-edge-tts.git
CD OpenAi-Edge-TTS
2. Configure um ambiente virtual
Criar e ativar um ambiente virtual para isolar dependências:
# Para macOS/Linux
python3 -m venv venv
fonte VENV/BIN/ativação
# Para Windows
python -m venv venv
venv \ scripts \ ativar
3. Instale dependências
Usarpip
Para instalar os pacotes necessários listados emrequirements.txt
pip install -r requisitos.txt
4. Configure variáveis de ambiente
Crie a.env
Arquivo no diretório raiz e defina as seguintes variáveis:
Api_key = your_api_key_here
Porta = 5050
Default_voice = en-us-Avaneural
Default_Response_format = mp3
Default_speed = 1.0
Default_language = en-us
Requim_api_key = true
REMOT_FILTER = FALSE
Expand_api = true
5. Execute o servidor
Uma vez configurado, inicie o servidor com:
python app/server.py
O servidor começará a ser executado emhttp://localhost:5050
6. Teste a API
Agora você pode interagir com a API emhttp://localhost:5050/v1/audio/speech
e outros terminais disponíveis. Consulte a seção de uso para exemplos de solicitação.
Detalhes de uso
Endpoint:/v1/audio/speech
(Aliases com/audio/speech
Gera áudio a partir do texto de entrada. Parâmetros disponíveis:
Parâmetro necessário:
- entrada(String): O texto a ser convertido em áudio (até 4096 caracteres).
Parâmetros opcionais:
- modelo(String): Defina como "TTS-1" ou "TTS-1-HD" (padrão:
"tts-1"
- voz(String): Uma das vozes compatíveis com o Openai (liga, eco, fábula, Onyx, Nova, Shimmer) ou qualquer coisa válida
edge-tts
Voz (padrão:"en-US-AvaNeural"
- Response_format(String): Formato de áudio. Opções:
mp3
, Assim,opus
, Assim,aac
, Assim,flac
, Assim,wav
, Assim,pcm
(padrão:mp3
- velocidade(Número): Velocidade de reprodução (0,25 a 4,0). O padrão é
1.0
Você pode navegar por vozes disponíveis e ouvir visualizações de amostra emTTS.TRAVISVN.com
Exemplo de solicitação comcurl
e salvando a saída em um arquivo MP3:
Curl -x Post http: // localhost: 5050/v1/áudio/discurso \
-H "Tipo de Conteúdo: Aplicativo/JSON" \
-H "Autorização: Portador Your_API_KEY_HERE" \
-d '{
"Entrada": "Olá, eu sou seu assistente de IA! Apenas deixe -me saber como posso ajudar a dar vida às suas idéias.",
"Voice": "Echo",
"Response_format": "mp3",
"Speed": 1.0
} '\
-Speech.mp3
Ou, estar de acordo com os parâmetros de endpoint da API OpenAI:
Curl -x Post http: // localhost: 5050/v1/áudio/discurso \
-H "Tipo de Conteúdo: Aplicativo/JSON" \
-H "Autorização: Portador Your_API_KEY_HERE" \
-d '{
"Modelo": "TTS-1",
"Entrada": "Olá, eu sou seu assistente de IA! Apenas deixe -me saber como posso ajudar a dar vida às suas idéias.",
"Voice": "liga"
} '\
-Speech.mp3
E um exemplo de um idioma que não seja o inglês:
Curl -x Post http: // localhost: 5050/v1/áudio/discurso \
-H "Tipo de Conteúdo: Aplicativo/JSON" \
-H "Autorização: Portador Your_API_KEY_HERE" \
-d '{
"Modelo": "TTS-1",
"entrada": "じゃあ、行く。電車の時間、調べておくよ。",
"Voice": "JA-JP-Kitaneural"
} '\
-Speech.mp3
Terminais adicionais
- Publique/get/v1/modelos: Lista os modelos TTS disponíveis.
- Publique/get/v1/vozes: Listas
edge-tts
Vozes para um determinado idioma / localidade. - Publique/get/v1/vozes/all: Lista tudo
edge-tts
Vozes, com informações de suporte ao idioma.
O/v1
agora é opcional.
Além disso, existem pontos de extremidade paraDiscurso do Azure AIeElevenlabsPara um suporte futuro potencial se os pontos de extremidade da API personalizados forem permitidos para essas opções no Webui aberto.
Estes podem ser desativados definindo a variável de ambienteEXPAND_API=False
🐳 Config rápido para Docker
Você pode configurar as variáveis de ambiente no comando usado para executar o projeto
Docker Run -d -p 5050: 5050 \
-e api_key = your_api_key_here \
-e porta = 5050 \
-e default_voice = en-us-avaneural \
-e Default_Response_format = mp3 \
-e default_speed = 1.0 \
-e default_language = en-us \
-e requer_api_key = true \
-e remove_filter = false \
-e expand_api = true \
Travisvn/Openai-Edge-TTS: mais recente
O texto de marcação agora é colocado através de um filtro para obter uma legibilidade e suporte aprimorados.
Você pode desativar isso definindo a variável do ambienteREMOVE_FILTER=True
Recursos adicionais
Para mais informações sobreopenai-edge-tts
, você pode visitar oRepo Github
Para suporte direto, você pode visitar oVoz ai e tts discórdia
🎙️ Amostras de voz
Jogue amostras de voz e veja todas as vozes TTS de borda disponíveis