O wukong-robot é um robô de diálogo de voz em chinês de código aberto e um projeto de alto-falante inteligente, projetado para ajudar os desenvolvedores a criar rapidamente alto-falantes inteligentes personalizados. Ele é compatível com reconhecimento de fala em chinês, síntese de fala e função de diálogo em várias rodadas, integrado com ChatGPT, Baidu, KDDI e outras tecnologias. O projeto foi desenvolvido para ser modular, com plug-ins e recursos que podem ser estendidos livremente, e é adequado para execução em sistemas Raspberry Pi, Mac e Linux. Em março de 2023, o wukong-robot já havia sido instalado mais de 13.000 vezes e acordado mais de 700.000 vezes. Ele também pode ser o primeiro projeto de alto-falante inteligente de código aberto a oferecer suporte à interação cérebro-computador, adequado para entusiastas e desenvolvedores de tecnologia personalizarem um assistente de voz personalizado.
Lista de funções
- Suporte ao reconhecimento de fala em chinês, integrado com Baidu, KDXF, Ali, Tencent, OpenAI Sussurro e muitas outras tecnologias.
- Fornece síntese de fala (TTS) com suporte para clonagem de som VITS, Microsoft Edge e outras tecnologias.
- Suporte ao diálogo em várias rodadas, acesso ao ChatGPT, robô Turing e outros sistemas de diálogo on-line.
- Design modular, plug-ins funcionais mantidos de forma independente, os desenvolvedores podem facilmente desenvolver e integrar novos plug-ins.
- Ele suporta despertar off-line, usando os mecanismos Porcupine e Snowboy, bem como métodos inovadores de despertar, como interação cérebro-computador e agitação do quadro.
- Oferece um lado de administração de back-end que suporta diálogo remoto, modificação de configuração e visualização de registros.
- Compatível com plataformas de hardware como Raspberry Pi, fácil de instalar e fácil de manter o código.
- Ele pode ser conectado a sistemas domésticos inteligentes para controlar eletrodomésticos por voz.
Usando a Ajuda
Processo de instalação
O wukong-robot fornece uma variedade de métodos de instalação, adequados para os sistemas Raspberry Pi, Mac e Linux. A seguir, um exemplo do processo de instalação do Docker em um Raspberry Pi:
- Preparação do ambienteVerifique se o Docker está instalado no dispositivo. Execute o seguinte comando para instalar o Docker:
sudo apt update sudo apt install docker.io sudo systemctl start docker sudo systemctl enable docker
- Clone o script de instalaçãoObtenha o script de instalação do Raspberry Pi para o wukong-robot no GitHub:
git clone https://github.com/wzpan/wukong-robot-pi-installer.git cd wukong-robot-pi-installer sudo chmod +x pi_installer
- Execute o script de instalaçãoExecute o comando de instalação e o script extrairá automaticamente a imagem do Docker do wukong-robot e configurará o ambiente:
sudo ./pi_installer
- Ambiente de configuraçãoNa primeira vez em que for executado, será solicitado que você crie um arquivo de configuração no diretório do usuário. Digite
y
estabelecer~/.wukong/config.yml
. O arquivo de configuração contém o reconhecimento de fala, a síntese e as configurações de plug-in. Recomenda-se consultar o arquivo de configuração padrãodefault.yml
Fazer alterações, mas não diretamentedefault.yml
para que não sejam substituídos por atualizações subsequentes:cp static/default.yml ~/.wukong/config.yml nano ~/.wukong/config.yml
- Iniciar o robô wukongExecute o seguinte comando no diretório raiz do projeto para iniciá-lo:
python3 wukong.py
- Instalação de plug-insO wukong-robot é compatível com plug-ins de terceiros, mas você precisa clonar o repositório de plug-ins e instalar as dependências separadamente:
cd ~/.wukong git clone https://github.com/wzpan/wukong-contrib.git contrib pip3 install -r contrib/requirements.txt
Funções principais
- acordar com uma vozA palavra de ativação padrão é
snowboy
que pode ser personalizado por meio do arquivo de configuração. Depois de acordar, o sistema entra no modo de gravação e aguarda o comando de voz do usuário. Por exemplo, dizer "snowboy, ligue a luz" pode acionar o plug-in de casa inteligente. - Processo de interação por vozA voz do usuário é convertida em texto por ASR (reconhecimento de fala), analisada por NLU (compreensão de linguagem natural) e, em seguida, processada pelo plug-in de correspondência e, por fim, o resultado é emitido por TTS (síntese de fala). Por exemplo, se você disser "What's the weather like today" (Como está o tempo hoje), o plug-in de clima retornará uma resposta de voz.
- Gerenciamento de back-endNa inicialização, acesse o
http://<设备IP>:5001
Entre na interface de gerenciamento para enviar comandos remotamente, visualizar registros ou modificar configurações. Por exemplo, ajustar a palavra de ativação ou alternar o mecanismo de reconhecimento de voz. - Uso do plug-inPlug-ins, como
Echo.py
Texto repetitivo inserido pelo usuário, adequado para testes. A instalação de plug-ins de terceiros (por exemplo, Baidu FM ou plug-ins meteorológicos) é necessária noconfig.yml
Configure a chave da API em. Por exemplo, configure o plug-in de clima:weather: enable: true key: '心知天气 API Key'
Operação da função em destaque
- Integração do ChatGPTConfigurando o
openai_api_key
Acesso ao ChatGPT com suporte a diálogo em várias rodadas. Requer o uso doconfig.yml
Situado em:openai: api_key: 'your_openai_api_key' model: 'gpt-3.5-turbo'
Para usá-lo, diga "snowboy, talk to me about AI" para entrar no modo de diálogo em várias rodadas.
- interação cérebro-computadorwukong-robot suporta o despertar do dispositivo de cérebro-computador Muse, você precisa configurar o dispositivo de cérebro-computador e ativar o plug-in relacionado. Após a execução, o despertar é acionado por sinais de ondas cerebrais, adequados para aplicações experimentais.
- Controle de casa inteligenteControle de aparelhos por meio do plug-in HASS (Home Assistant). Configurações
config.yml
O dispositivo pode ser controlado com comandos de voz, como "Switch on the living room light" (Acender a luz da sala de estar), depois que o parâmetro HASS for definido como "HASS" no parâmetro "HASS" no parâmetro "HASS" no parâmetro "HASS" no parâmetro "HASS".
advertência
- Certifique-se de que o microfone e os alto-falantes estejam funcionando corretamente e teste as funções de gravação e reprodução:
arecord -d 5 test.wav aplay test.wav
- Se estiver usando um Raspberry Pi, a placa de som precisa ser configurada corretamente (por exemplo, ReSpeaker 2 Mics). Consulte
.asoundrc
Configuração:pcm.!default { type asym playback.pcm { type plug slave.pcm "hw:1,0" } capture.pcm { type plug slave.pcm "hw:1,0" } } ctl.!default { type hw card 1 }
- Verifique os registros ou visite as páginas de problemas do GitHub (por exemplo, #355, #353) para obter ajuda da comunidade caso encontre problemas.
cenário do aplicativo
- Alto-falante inteligente DIY
Os desenvolvedores podem usar o wukong-robot para criar alto-falantes inteligentes personalizados no Raspberry Pi, com palavras de ativação e interações de voz personalizadas, adequados para uso doméstico ou para a apresentação de projetos de tecnologia. - Controle de casa inteligente
Ao acessar o plug-in HASS, o wukong-robot pode controlar luzes, condicionadores de ar e outros dispositivos por voz, o que o torna adequado para criar um hub doméstico inteligente. - Educação e pesquisa
Estudantes e pesquisadores podem usar seu design modular para aprender reconhecimento de fala, PNL e desenvolvimento de plug-ins para ensino de IA ou projetos de laboratório. - experimento de interação cérebro-computador
Ele suporta a função de despertar cérebro-computador, que é adequada para que pesquisadores de neurociência ou de HCI explorem novos métodos de interação.
QA
- Como faço para resolver o problema "API do snowboy fechada"?
A API do Snowboy estará fora de serviço em dezembro de 2020; será necessário mudar para o Porcupine ou outro mecanismo de rastreamento off-line. Modificaçõesconfig.yml
A maneira recomendada de configurar o mecanismo de despertar é usar o Porcupine. - Por que o microfone não acorda?
Verifique se a placa de som está configurada corretamente executandoarecord -l
Confirme o equipamento do microfone. Certifique-se de que o.asoundrc
Configure-o corretamente ou consulte a edição #57 do GitHub para ajustar as configurações do ReSpeaker. - Como faço para adicionar um novo plug-in?
clone (palavra emprestada)wukong-contrib
instale as dependências e copie o plug-in para o repositório~/.wukong/contrib
e no diretórioconfig.yml
Ativar o plug-in no Baidu FM. Por exemplo, para adicionar o plug-in do Baidu FM, você precisa configurar o parâmetrobaidufm
Parâmetros. - Como faço para proteger minhas chaves de API?
Não coloqueopenai_api_key
e outras informações confidenciais são impressas ou gravadas diretamente no registro. Configuraçõesconfig.yml
As permissões de arquivo são lidas somente pelo usuário atual (chmod 600 config.yml
). Consulte a edição #317 para corrigir possíveis problemas de segurança.