1
0
mirror of https://github.com/janvarev/Irene-Voice-Assistant.git synced 2025-11-26 22:50:58 +02:00

10.7.0: возможность использовать альтернативные имена помощников для сокращения команд

TTS Vosk: инициализация убрана в init
This commit is contained in:
Janvarev Vladislav
2024-04-03 14:12:13 +03:00
parent b40c8c3876
commit fd8c2c4c7a
4 changed files with 22 additions and 6 deletions

View File

@@ -144,7 +144,10 @@ https://github.com/timhok/IreneVA-hassio-script-trigger-plugin
"ttsEngineId2": "", # 2 используемый TTS-движок. Работает только на локальную озвучку - например, буфера обмена. Вызывается командой say2 "ttsEngineId2": "", # 2 используемый TTS-движок. Работает только на локальную озвучку - например, буфера обмена. Вызывается командой say2
"useTTSCache": false, # при установке true в папке tts_cache будет кэшировать .wav файлы со сгенерированными TTS-движком ответами "useTTSCache": false, # при установке true в папке tts_cache будет кэшировать .wav файлы со сгенерированными TTS-движком ответами
"v": "1.7", # версия плагина core. Обновляется автоматически, не трогайте "v": "1.7", # версия плагина core. Обновляется автоматически, не трогайте
"voiceAssNames": "ирина|ирины|ирину" # Если это появится в звуковом потоке, то дальше будет команда. (Различные имена помощника, рекомендуется несколько) "voiceAssNames": "ирина|ирины|ирину", # Если это появится в звуковом потоке, то дальше будет команда. (Различные имена помощника, рекомендуется несколько)
"voiceAssNameRunCmd": { # если вы обратитесь к помощнику по этому имени, то в начало вашей команды будет подставлено соответствующее слово
"альбина": "чатгпт"
}
} }
``` ```

View File

@@ -7,7 +7,7 @@ from vacore import VACore
def start(core:VACore): def start(core:VACore):
manifest = { manifest = {
"name": "Core plugin", "name": "Core plugin",
"version": "4.0", "version": "4.2",
"description": "Плагин с основными настройками Ирины.\nПосмотрите другие плагины, чтобы понять, какие команды можно использовать.", "description": "Плагин с основными настройками Ирины.\nПосмотрите другие плагины, чтобы понять, какие команды можно использовать.",
"options_label": { "options_label": {
@@ -34,6 +34,8 @@ def start(core:VACore):
"tempDir": "адрес директории для временных файлов", "tempDir": "адрес директории для временных файлов",
"fuzzyThreshold": "(ПРО) Порог уверенности при использовании нечеткого распознавания команд", "fuzzyThreshold": "(ПРО) Порог уверенности при использовании нечеткого распознавания команд",
"voiceAssNameRunCmd": "Словарь сопоставлений. При нахождении имени помощника, добавляет префикс к распознанной фразе",
}, },
"default_options": { "default_options": {
@@ -60,6 +62,10 @@ def start(core:VACore):
"tempDir": "temp", "tempDir": "temp",
"fuzzyThreshold": 0.5, "fuzzyThreshold": 0.5,
"voiceAssNameRunCmd": {
"альбина": "чатгпт"
}
}, },
} }
@@ -76,6 +82,8 @@ def start_with_options(core:VACore, manifest:dict):
core.isOnline = options["isOnline"] core.isOnline = options["isOnline"]
core.voiceAssNames = options["voiceAssNames"].split("|") core.voiceAssNames = options["voiceAssNames"].split("|")
core.voiceAssNameRunCmd = options["voiceAssNameRunCmd"]
print(core.voiceAssNameRunCmd)
core.ttsEngineId = options["ttsEngineId"] core.ttsEngineId = options["ttsEngineId"]
core.ttsEngineId2 = options["ttsEngineId2"] core.ttsEngineId2 = options["ttsEngineId2"]
core.playWavEngineId = options["playWavEngineId"] core.playWavEngineId = options["playWavEngineId"]

View File

@@ -4,8 +4,6 @@
import os import os
from vacore import VACore from vacore import VACore
from vosk_tts.model import Model
from vosk_tts.synth import Synth
modname = os.path.basename(__file__)[:-3] # calculating modname modname = os.path.basename(__file__)[:-3] # calculating modname
@@ -13,7 +11,7 @@ modname = os.path.basename(__file__)[:-3] # calculating modname
def start(core:VACore): def start(core:VACore):
manifest = { manifest = {
"name": "TTS vosk", "name": "TTS vosk",
"version": "1.2", "version": "1.3",
"require_online": False, "require_online": False,
"description": "TTS через VOSK\n" "description": "TTS через VOSK\n"
@@ -36,6 +34,9 @@ def start_with_options(core:VACore, manifest:dict):
pass pass
def init(core:VACore): def init(core:VACore):
from vosk_tts.model import Model
from vosk_tts.synth import Synth
options = core.plugin_options(modname) options = core.plugin_options(modname)
core.ttsModel = Model(model_name = options['modelId']) core.ttsModel = Model(model_name = options['modelId'])

View File

@@ -12,7 +12,7 @@ from jaa import JaaCore
from collections.abc import Callable from collections.abc import Callable
version = "10.6.0" version = "10.7.0"
# main VACore class # main VACore class
@@ -49,6 +49,7 @@ class VACore(JaaCore):
self.version = version self.version = version
self.voiceAssNames = [] self.voiceAssNames = []
self.voiceAssNameRunCmd = {}
self.useTTSCache = False self.useTTSCache = False
self.tts_cache_dir = "tts_cache" self.tts_cache_dir = "tts_cache"
@@ -509,6 +510,9 @@ class VACore(JaaCore):
command_options = " ".join([str(input_part) for input_part in voice_input[(ind+1):len(voice_input)]]) command_options = " ".join([str(input_part) for input_part in voice_input[(ind+1):len(voice_input)]])
if callname in self.voiceAssNameRunCmd:
command_options = self.voiceAssNameRunCmd.get(callname)+" "+command_options
print("Modified input, added ", self.voiceAssNameRunCmd.get(callname))
# running some cmd before run cmd # running some cmd before run cmd
if func_before_run_cmd != None: if func_before_run_cmd != None: