Irina ist eine russische Sprachassistentin für Offline -Arbeit. Benötigt Python 3.5+ (die Abhängigkeit kann geringer sein, aber in jedem Fall Python 3)
Unterstützt Plugins (Fähigkeiten).
Artikel über Habri | Der zweite Artikel über Habri | Der dritte Artikel über Habri | Gruppe in Telegramm
Über den Service vsegpt.ru, ein weiteres Projekt des Autors von Irina:
Gehen Sie zu https://github.com/janvarev/irene-va-win-installer, laden Sie den Code (Code/Download ZIP) herunter und befolgen Sie die Anweisungen.
Nach der Installation werden die folgenden Befehle verfügbar sein: "Irina Hallo", "Irina werfen die Münze", "Irina reißen den Würfel", "Irina, das Spiel ist kleiner", "Irina Timer drei Minuten"
Um Probleme vorzubereiten oder zu lösen, starten Sie start-settings-manager.bat , um den Einstellungsmanager zu starten.
Weitere Docks für die Bindung dieser Option: DOCs/install_win_compact.md
Nach der Installation sind Offline -Teams verfügbar (da dies eine Standardkonfiguration ist). Beispiel: "Irina Hallo", "Irina reißen die Münze", "Irina reißen den Würfel", "Irina das Spiel ist kleiner", "Irina Timer drei Minuten"
So erstellen Sie diese Option: docs/install_win_compact.md.md
Sie benötigen das installierte Python (ca. 3,7-3.11).
Um alle erforderlichen Abhängigkeiten schnell zu installieren, können Sie den Befehl verwenden: pip install -r requirements.txt (für Linux und MacOS - erste Installationspakete für Audioplayer)
Führen Sie die Datei runva_vosk.py aus dem Stammordner aus. Standardmäßig wird er Vosk Offline -Anhänger starten, um die Sprache mit einem Mikrofon zu erkennen, und die PYTSX -Engine, um einen Assistenten mehr über PYTTSX zu äußern.
Nach dem Start können Sie sich bei einem einfachen Team erkundigen: "Irina, Hallo!" Im Mikrofon
Der Ordner mit den Optioneneinstellungen wird nach dem ersten Start von Irina angezeigt. In IT können Sie die Einstellungen korrigieren.
Weitere Schritt -By -STEP INFA über die Installation auf Win (insbesondere Win 7): DOCS/Install_win.md
Lösen Sie einige Probleme bei der Installation unter Linux: docs/install_linux.md
Lösen Sie einige Probleme bei der Installation unter Macs: docs/install_mac.md
Die Prinzipien des Debuggens während der Installationsprobleme: DOCs/Install_Debug.md
Fehler können in Themen geschrieben werden, diskutiert - im Telegramm
C Version 9.0 Verfügbarer Webeinstellungsmanager über Gradio.
Starten Sie zum Start die Datei runva_Setings_Manager.py im Stammordner.
Wenn Sie alles über ein Dock ausführen möchten: docs/install_docker.md (es gibt auch Docks des Dokers für Arm (Himbeeren usw.) von Ivan-Firefly))
Wenn Sie nur komplexe Schlüsselkomponenten möchten, führen Sie durch das Dock: docs/install_docker_comp.md
Der Start aller Teams beginnt mit dem Assistenznamen (abgestimmt in Optionen/Core.json, standardmäßig - Irina). Dies geschieht, um falsche Arbeiten auszuschließen, wenn das Mikrofon konstant anhört. Als nächstes wird Teams ohne das Präfix "Irina" beschrieben.
Die Unterstützung für die lokale Steuerung über die Webschnittstelle durch den MPC-HC-Player ist in die Engine integriert, daher wird empfohlen, sie zu verwenden. Es kann in Optionen/core.json konfiguriert werden
Die Unterstützung von Plugins wird am JAA.PY -Motor erstellt - der minimalistische Einstellungsmotor der minimalistischen einzelnen Dateimotor und deren Einstellungen.
Die Plugins befinden sich im Plugins -Ordner und sollten mit dem PROGINS_ -Präfix beginnen.
Die Plugins -Einstellungen befinden sich, falls vorhanden, im Optionsordner (erstellt nach dem ersten Start).
Für jedes Plugin wird geschrieben, ob Online erforderlich ist. Entfernen, um den Plugins -Ordner auszuschalten
Vollständige Informationen: Dokumente/Plugins.md
Wenn Sie wissen möchten:
Besuch: #1
(Aus Version 10.0.0) Führen Sie zum Start runva_plugin_installer.py aus
Achtung: Die vorgeschlagenen Plugins werden von dritten -party -Entwicklern unterstützt und können ergänzen und ändern! Der Autor von Irina ist nicht für ihre Wartung verantwortlich!
Für Entwickler : Wenn Sie Ihr Plugin für eine vereinfachte Installation zu dieser Liste hinzufügen möchten, müssen Sie Folgendes ausführen:
Beispiel für das Design des Plugins: https://github.com/janvarev/irene_plugin_boltalka2_openai
Es gibt ein gutes Plugin von Drittanbietern, mit dem Sie Home Assistant Skrips über Irina starten können: https://github.com/timhok/ireneva-script-trigger-plugin
Einstellungen bestimmter Plugins werden am besten in Plugins angesehen
{
"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" : { # если вы обратитесь к помощнику по этому имени, то в начало вашей команды будет подставлено соответствующее слово
"альбина" : "чатгпт"
}
}Für das Debuggen können Sie den Systemstart über die Datei runva_cmdline.py verwenden.
Sie macht den Kern ( Vacore in Vacore.py ) durch die Befehlslinienschnittstelle, dies ist bequemer als mit einer Stimme diktiert.
Entwicklungsdokumentation
Die Multi-Installation im "Client-Server" -Modus ist etwas komplizierter, ermöglicht es Ihnen jedoch, Irina zu verwalten:
Lesen Sie mehr über Kundenserver-Einstellungen
Web -API -Dokumentation
Wenn Sie Probleme mit der VOSK -Installation haben (z. B. auf dem Mac), können Sie die Arbeiten über den VOSK Auto Spracherkennungsserver verwenden, der über das Dock gestartet wird.
docker run -d -p 2700:2700 alphacep/kaldi-ru:latest (Details: https://alphacephei.com/vosk/server)vosk_asr_server.py ausführen, wodurch die Parameter in innerhalb von reduziert werden 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 . Er wird Daten aus dem Mikrofon lesen und zur Erkennung an den Server senden. Wenn Sie die Erkennung auf einer anderen Maschine starten müssen -Verwenden Sie den Parameter -u (--uri): runva_voskrem.py -u=ws://100.100.100.100:2700 um die Adresse des Servers zu klären.
Sprachkognition - Eine klassische Engine zum Starten von Google und eine Reihe anderer Dienste. Um diese Erkennung zu starten, starten Sie das System über die Datei runva_speecracognition.py .
Für die Arbeit brauchen Sie:
pip install PyAudio
pip install SpeechRecognition
Wenn es Probleme mit der Installation von Pyaudio gibt, lesen Sie die Details von Enjirouz
Merkmale: Erkennung von Ziffern. Der gleiche Satz wird wie folgt erkannt:
Das Projekt als Ganzes impliziert keine Unterstützung für mehrsprachige Begriffe, da benutzerdefinierte Parsen -Wörter in Plugins verwendet werden. Trotzdem ist der Kern ( vacore.py ) nicht ganz an die Zunge gebunden, und Sie können Ihre eigene Installation in einer anderen Sprache sammeln und einfach die Plugins für sie neu schreiben.
In der Kern- Plugin-Konfigurationsdatei werden mehrere Sprachphrasen bestimmen, die das Kernverhalten des Sprachassistenten (sein Name sowie Phrasen wie "Ich nicht verstanden") bestimmen.
C Version 7.5 unterstützt die Fuzzy -Benutzereingabebereich.
Um die Erkennungsschwelle festzulegen, gibt es in Core.json einen globalen Parameter Fuzzythreshold.
Berühmte Plugins, die damit arbeiten:
Aus Version 8.1 im Testmodus wurde die Unterstützung für Core-Plane von Vasyas Sprachassistenten gemacht: https://github.com/oknolaz/vasialy
Hinzufügen:
Es funktioniert in den einfachsten Fällen - getestet an den Plugins von Münzen und Crystall_ball.
Wenn es nicht funktioniert, lesen Sie den Code. Die Unterstützung erfolgt über den Plugin plugin_vasi.py.
Wenn Sie dem Projekt etwas hinzufügen möchten, ist es gut, sich mit der Richtlinie für den Beitrag zu vertraut zu machen.
Kurz:
@Enjirouz für das Projekt des Sprachassistent
Alphacephei für die schöne Erkennungsbibliothek Vosk (https://alphacephei.com/vosk/index.ru)
Die Hauptschwierigkeit bei OpenSoren besteht darin, keinen Code zu schreiben. Das Schreiben des Code ist interessant.
Die Schwierigkeit bei OpenSoren besteht darin, den Code und die Benutzer für lange Zeit zu pflegen.
Fragen beantworten. Fehler beheben. Schreiben Sie Artikel und Dokumentation.
Wenn Sie mein Interesse unterstützen und Irina als Stimmassistent unabhängig von großen Unternehmen machen möchten, können Sie: