From 049ed48787ad46a0553354be2180aa47ede29727 Mon Sep 17 00:00:00 2001 From: Raven Scott Date: Fri, 11 Sep 2026 16:29:34 -0400 Subject: [PATCH] Fix Bare voice models and extension registration --- .../jarvis@qvac.local/schemas/gschemas.compiled | Bin 0 -> 1080 bytes daemon/qvac-master.js | 8 +++++--- daemon/voice-adapters.js | 4 ++-- packaging/build-extension.sh | 3 +++ packaging/install.sh | 5 ++++- 5 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 apps/gnome-extension/jarvis@qvac.local/schemas/gschemas.compiled diff --git a/apps/gnome-extension/jarvis@qvac.local/schemas/gschemas.compiled b/apps/gnome-extension/jarvis@qvac.local/schemas/gschemas.compiled new file mode 100644 index 0000000000000000000000000000000000000000..3a622649a1abcb61b9ee34d506dfbbe15e274660 GIT binary patch literal 1080 zcmZ8gO=uHA7@exM)wWuR1@&UYgUMmDP;#hH3jS9SQA)LV>SQ~~j+yK%vzyoj_26AW z58ebXf*uO$NiR|;MZAfKh zRIW(Z(FwzaD2;Ym@GN38z*POfwjQ>Fhk%j)uoK@zF^Jv`fLYHj(Ghdtd0_eajUm=X z-48zm-v*w|o&L#q>H_>n;3eRg^v~0$9)Z6MUInTnpKj5orvCxF2Fy-pYxJpy;eQ7g z(7=hC&(G1PW_%G`0@m+}ns-H>2fprp`jYX~gNP5oE#TFU;y8Wk0r-pHyTIb1LQJ1} z2>t``L*T`|JDccJZ-xH^yaK#F(!5Ncn)%;=KLYpPU;09ynt48hzX40x<1zZwd*P4b zLB@dnXI9_Rr)Iw;FyA|{t+<^k=d}~%wd{gIjIGzvbW*OwG7a(VV<7x|ApCqF{J#U? zcL%~3A_;6%*RJI)s3djmAk`h_;_4HnS~&=HOL;1iHKP_b_&n2iv9on;dK-+4QyY5| zjaptt>~u#4*?M(C)Z4~*Mkkm`Pu5xdRoTQ|lx#c78JT%Wni(Zskei${&Lgfw?C2hy z&nxG07{E2)&bxEVc^w2euN|uc sdk.loadModel({ + const loadOptions = { modelSrc: resolveSdkAsset(sdk, name), modelConfig: { ...resolveModelConfigAssets(sdk, modelConfig), device: 'gpu', gpu_layers: QVAC_MASTER.gpuLayers, 'mmproj-use-gpu': true }, - })); + }; + if (modelType) loadOptions.modelType = modelType; + const modelId = await withQvacMaster(() => sdk.loadModel(loadOptions)); auxiliaryModels.set(String(name), modelId); return modelId; } diff --git a/daemon/voice-adapters.js b/daemon/voice-adapters.js index c424d90..790270d 100644 --- a/daemon/voice-adapters.js +++ b/daemon/voice-adapters.js @@ -11,8 +11,8 @@ export class QvacVoiceAdapter extends EventEmitter { assertSdkVersion(); await acquireQvac(); this.acquired = true; try { - this.asrId = await loadAuxiliaryModel(this.asrModel, { vadModelSrc: 'VAD_SILERO_5_1_2', audio_format: 's16le', language: 'en', no_timestamps: true, vad_params: { threshold: 0.6, min_speech_duration_ms: 300, min_silence_duration_ms: 700, max_speech_duration_s: 15, speech_pad_ms: 200 } }); - this.ttsId = await loadAuxiliaryModel(this.ttsModel, { ttsEngine: 'supertonic', language: 'en', voice: 'F1', ttsSpeed: 1.05, ttsNumInferenceSteps: 5 }); + this.asrId = await loadAuxiliaryModel(this.asrModel, { vadModelSrc: 'VAD_SILERO_5_1_2', audio_format: 's16le', language: 'en', no_timestamps: true, vad_params: { threshold: 0.6, min_speech_duration_ms: 300, min_silence_duration_ms: 700, max_speech_duration_s: 15, speech_pad_ms: 200 } }, 'whisper'); + this.ttsId = await loadAuxiliaryModel(this.ttsModel, { ttsEngine: 'supertonic', language: 'en', voice: 'F1', ttsSpeed: 1.05, ttsNumInferenceSteps: 5 }, 'tts'); } catch (error) { await this.stop(); throw error; } } diff --git a/packaging/build-extension.sh b/packaging/build-extension.sh index 7292562..c9b4488 100755 --- a/packaging/build-extension.sh +++ b/packaging/build-extension.sh @@ -4,6 +4,9 @@ ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" OUT_DIR="${ROOT_DIR}/dist" mkdir -p "${OUT_DIR}" rm -f "${OUT_DIR}/jarvis-qvac-extension.zip" +if command -v glib-compile-schemas >/dev/null; then + glib-compile-schemas "${ROOT_DIR}/apps/gnome-extension/jarvis@qvac.local/schemas" >/dev/null +fi ( cd "${ROOT_DIR}/apps/gnome-extension" && zip -q -r "${OUT_DIR}/jarvis-qvac-extension.zip" "jarvis@qvac.local" -x '*/__pycache__/*' -x '*.pyc' ) test -s "${OUT_DIR}/jarvis-qvac-extension.zip" echo "${OUT_DIR}/jarvis-qvac-extension.zip" diff --git a/packaging/install.sh b/packaging/install.sh index 9d19ed0..39de0ac 100755 --- a/packaging/install.sh +++ b/packaging/install.sh @@ -3,7 +3,7 @@ set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" command -v zip >/dev/null || { echo "zip is required to register the GNOME extension" >&2; exit 1; } APP_DIR="${HOME}/.local/share/jarvis-qvac" -EXT_DIR="${HOME}/.local/share/gnome-shell/extensions/jarvis@qvac.local" +EXT_DIR="${XDG_DATA_HOME:-${HOME}/.local/share}/gnome-shell/extensions/jarvis@qvac.local" CONFIG_DIR="${HOME}/.config/jarvis" CACHE_DIR="${XDG_CACHE_HOME:-${HOME}/.cache}/jarvis/models" mkdir -p "${APP_DIR}" "${EXT_DIR}" "${CONFIG_DIR}" "${HOME}/.config/systemd/user" "${CACHE_DIR}" @@ -35,6 +35,9 @@ if command -v gnome-extensions >/dev/null && gnome-extensions install --force "$ else cp -a "${ROOT_DIR}/apps/gnome-extension/jarvis@qvac.local/." "${EXT_DIR}/" fi +if command -v glib-compile-schemas >/dev/null && [[ -d "${EXT_DIR}/schemas" ]]; then + glib-compile-schemas "${EXT_DIR}/schemas" >/dev/null +fi sed "s#__JARVIS_BARE__#${BARE_BIN}#" "${ROOT_DIR}/packaging/jarvisd.service" > "${HOME}/.config/systemd/user/jarvisd.service" if [[ ! -f "${CONFIG_DIR}/qvac.config.json" ]]; then sed "s#__JARVIS_CACHE__#${CACHE_DIR}#g" "${ROOT_DIR}/packaging/qvac.config.template.json" > "${CONFIG_DIR}/qvac.config.json"