Irina é uma assistente de voz russa para o trabalho offline. Requer Python 3.5+ (a dependência pode ser menor, mas em qualquer caso Python 3)
Suporta plugins (habilidades).
Artigo sobre Habri | O segundo artigo sobre Habri | O terceiro artigo sobre Habri | Grupo em telegrama
Através do serviço vsegpt.ru, outro projeto do autor de Irina:
Vá para https://github.com/janvarev/irene-va-win-installer, faça o download do código (código/download ZIP) e siga as instruções.
Após a instalação, os seguintes comandos estarão disponíveis: "Irina Hello", "Irina Throw the Coin", "Irina rasgue o cubo", "Irina the Game Is MAIS", "Irina Timer três minutos"
Para preparar ou resolver problemas, inicie start-settings-manager.bat para iniciar o Settings Manager-pode terminar os plugins e descobrir comandos adicionais.
Mais docas para vincular esta opção: docs/install_win_compact.md
Após a instalação, as equipes offline estarão disponíveis (porque esta é uma configuração padrão). Exemplo: "Irina Hello", "Irina rasgue a moeda", "Irina rasgue o cubo", "Irina the Game Is Menor", "Irina Timer Three Minutes"
Como preparar esta opção: docs/install_win_compact.md
Você precisará do Python instalado (aproximadamente 3,7-3.11).
Para instalar rapidamente todas as dependências necessárias, você pode usar o comando: pip install -r requirements.txt (para Linux e MacOS - primeiro os pacotes de instalação para o Audioplayer)
Para começar a iniciar, execute o arquivo runva_vosk.py na pasta root. Por padrão, ele lançará o apoiador offline do Vosk para reconhecer a fala com um microfone e o motor Pytsx para expressar um assistente mais sobre o Pyttsx aqui.
Depois de começar, você pode verificar com uma equipe simples - diga "Irina, olá!" No microfone
A pasta com as configurações de opções aparecerá após o primeiro lançamento da Irina, você pode corrigir as configurações.
Mais etapa -PE -ETEP INFA SOBRE A INSTALAÇÃO NA VINCA (especialmente Win 7): docs/install_win.md
Resolvendo alguns problemas ao instalar no Linux: docs/install_linux.md
Resolvendo alguns problemas ao instalar no Macs: docs/install_mac.md
Os princípios da depuração durante os problemas de instalação: docs/install_debug.md
Bugs podem ser escritos em questões, discutidas - em telegrama
C Versão 9.0 Manager de Configurações da Web disponível via gradio.
Para iniciar, inicie o arquivo runva_settings_manager.py na pasta root.
Se você deseja executar tudo através de uma doca: docs/install_docker.md (também há docas do DOKER para braço (framboesas, etc.) de Ivan-Firefly)
Se você deseja apenas componentes de chave complexos, execute o dock: docs/install_docker_comp.md
O lançamento de todas as equipes começa com o nome do assistente (sintonizado em opções/core.json, por padrão - Irina). Isso é feito para excluir obras incorretas ao ouvir constantemente o microfone. Em seguida, será descrito por equipes sem o prefixo "Irina".
O suporte ao controle local através da interface da Web pelo MPC-HC Player está embutido no mecanismo, por isso é recomendável usá-lo. Pode ser configurado em opções/core.json
O suporte aos plug -ins é feito no motor Jaa.py - o mecanismo de suporte minimalista de suporte único e suas configurações.
Os plugins estão localizados na pasta Plugins e devem começar com o prefixo plugins_.
As configurações dos plugins, se houver, estão localizadas na pasta Opções (criadas após o primeiro lançamento).
Para cada plug -in, está escrito se é necessário on -line. Remova para desligar a pasta dos plugins
Informações completas: docs/plugins.md
Se você quiser saber:
Visite: #1
(Da versão 10.0.0) Para lançamento, run runva_plugin_installer.py
ATENÇÃO: Os plug -ins propostos são suportados por desenvolvedores de terceiros e podem complementar e mudar! O autor de Irina não é responsável por sua manutenção!
Para desenvolvedores : se você deseja adicionar seu plug -in a esta lista para uma instalação simplificada, precisará fazer o seguinte:
Exemplo do design do plugin: https://github.com/janvarev/irene_plugin_boltalka2_openai
Há um bom plug-in de terceiros que permite lançar scripts de assistente de casa através da Irina: https://github.com/timhok/ireneva-script-trigger-plugin
Configurações de plugins específicos são melhor assistidos nos plugins
{
"contextDefaultDuration" : 10 , # Время в секундах, пока Ирина находится в контексте (контекст используется в непрерывном чате, играх и пр.; в контексте не надо использовать слово Ирина)
"contextRemoteWaitForCall" : false , # должна ли Ирина ждать от клиентов сингнала "Проигрывание ответа закончена, запускаем время для контекста?"
# официальные клиенты поддерживают contextRemoteWaitForCall, рекомендуется true
"fuzzyThreshold" : 0.5 , # (ПРО) Порог уверенности при использовании плагинов нечеткого распознавания команд
"isOnline" : true , # при установке в false будет выдавать заглушку на команды плагинов, требующих онлайн. Рекомендуется, если нужен только оффлайн.
"linguaFrancaLang" : "ru" , # язык для конвертации чисел в lingua-franca. Смените, если будете работать с другим языком
"logPolicy" : "cmd" , # all|cmd|none . Когда распознается речь с микрофона - выводить в консоль всегда | только, если является командой | никогда
"mpcHcPath" : "C: \ Program Files (x86) \ K-Lite Codec Pack \ MPC-HC64 \ mpc-hc64_nvo.exe" , # путь до MPC HC, если используете
"mpcIsUse" : true , # используется ли MPC HC?
"mpcIsUseHttpRemote" : true , # MPC HC - включено ли управление через веб-интерфейс?
"playWavEngineId" : "audioplayer" , # плагин проигрыша WAV-файлов. Некоторые WAV требуют sounddevice.
"replyNoCommandFound" : "Извини, я не поняла" , # ответ при непонимании
"replyNoCommandFoundInContext" : "Не поняла..." , # ответ при непонимании в состоянии контекста
"replyOnlineRequired" : "Нужен онлайн" , # ответ при вызове в оффлайн функции плагина, требующего онлайн
"tempDir" : "temp" , # папка для временных файлов
"ttsEngineId" : "pyttsx" , # используемый TTS-движок
"ttsEngineId2" : "" , # 2 используемый TTS-движок. Работает только на локальную озвучку - например, буфера обмена. Вызывается командой say2
"useTTSCache" : false , # при установке true в папке tts_cache будет кэшировать .wav файлы со сгенерированными TTS-движком ответами
"v" : "1.7" , # версия плагина core. Обновляется автоматически, не трогайте
"voiceAssNames" : "ирина|ирины|ирину" , # Если это появится в звуковом потоке, то дальше будет команда. (Различные имена помощника, рекомендуется несколько)
"voiceAssNameRunCmd" : { # если вы обратитесь к помощнику по этому имени, то в начало вашей команды будет подставлено соответствующее слово
"альбина" : "чатгпт"
}
}Para depuração, você pode usar o sistema de lançamento no arquivo runva_cmdline.py .
Ela faz o núcleo ( 2 Voltor.py ) através da interface da linha de comando, isso é mais conveniente do que ditar em voz.
Documentação de desenvolvimento
A multi-instalação no modo "cliente-servidor" é um pouco mais complicada, mas permite que você gerencie a Irina:
Leia mais sobre as configurações do cliente-servidor
Documentação da API da Web
Se você tiver problemas com a instalação do Vosk (por exemplo, no Mac), poderá usar o trabalho através do servidor de reconhecimento de fala do Vosk Auto, que é lançado através do dock.
docker run -d -p 2700:2700 alphacep/kaldi-ru:latest (detalhes: https://alphacephei.com/vosk/server)vosk_asr_server.py , reduzindo os parâmetros dentro args . interface = os . environ . get ( 'VOSK_SERVER_INTERFACE' , "0.0.0.0" )
args . port = int ( os . environ . get ( 'VOSK_SERVER_PORT' , 2700 )runva_voskrem.py . Ele lerá dados do microfone e enviará ao servidor para reconhecimento. Se você precisar iniciar o reconhecimento em outra máquina, use o parâmetro -u (--uri): runva_voskrem.py -u=ws://100.100.100.100:2700 para esclarecer o endereço do servidor.
SpeechRecognition - Um mecanismo clássico para lançamento pelo Google e vários outros serviços. Para iniciar esse reconhecimento, inicie o sistema através do arquivo runva_speecrecognition.py .
Para o trabalho, você precisará:
pip install PyAudio
pip install SpeechRecognition
Se houver problemas com a instalação de Pyaudio, leia os detalhes de Enjirouz
Recursos: Reconhecimento de numerais. A mesma frase é reconhecida da seguinte maneira:
O projeto como um todo não implica suporte para termos multilíngues, porque usa palavras de análise personalizadas em plugins. Mas, no entanto, o núcleo ( core.py ) não está completamente ligado à língua e você pode coletar sua própria instalação em outro idioma, simplesmente reescrevendo os plugins para eles.
Várias frases de idioma que determinam o núcleo-comportamento do assistente de idiomas (o nome dele, bem como frases como "eu não entendi") estão configuradas no arquivo de configuração do plug-in do núcleo .
C A versão 7.5 suporta o processamento de entrada do usuário difuso.
Para definir o limiar de reconhecimento, existe um parâmetro global FuzzThreshold em Core.json, ele aceita valores de 0 a 1 (1 - confiança completa na frase)
Plugins famosos trabalhando com isso:
Da versão 8.1 no modo de teste, foi feito suporte para o plano Core do Vasya's Voice Assistant: https://github.com/oknolaz/vasisualy
Para adicionar:
Funciona nos casos mais simples - testados nos plugins de moeda e Crystall_ball.
Se não funcionar, leia o código. O suporte é feito através do plugin plugin_vasi.py.
Se você deseja adicionar algo ao projeto, é bom se familiarizar com a política contribuinte.md
Curto:
@Enjirouz para o projeto do assistente de voz: https://github.com/enjirouz/voice-sistant-app, que se tornou a base (embora tenha sido muito redesenhado)
Alphacephei para a bela biblioteca de reconhecimento Vosk (https://alphacephei.com/vosk/index.ru)
A principal dificuldade em Openors é não escrever um código. Escrever o código é interessante.
A dificuldade em Openors é manter o código e os usuários por um longo tempo.
Responda a perguntas. Corrija bugs. Escreva artigos e documentação.
Se você deseja apoiar meu interesse e fazer Irina, como assistente vocal independente de grandes empresas, você pode apoiar, você pode: