From 3ac8b23477cab48b9591402aa8b09090c7f5afbd Mon Sep 17 00:00:00 2001 From: Nicholai Date: Mon, 2 Mar 2026 00:29:06 -0700 Subject: [PATCH] 2026-03-02T07-29-06_auto_memory/memories.db-wal --- memory/memories.db-wal | Bin 6806272 -> 6806272 bytes tools/meeting-notes/dist/index.js | 23 ++++++++++------------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/memory/memories.db-wal b/memory/memories.db-wal index f3e10e806e270f4bbc99e899a3a72cb4201a6e3b..4746166bc78e58b8122a6a02a8f68a15e2aef5e1 100644 GIT binary patch delta 1035 zcmYk%Ye-XJ7zgkjS9!c_JI#A}t8JQ^HnpsIYg*29Su-$wv~^Bybw5>;hRzJ^Pa9<^6qlc>ny*c?>-*e1i>8U>*aHm?;0R9O3<3~>2pE_TVsHUha07Sn08j9O1+Wmj!3TW75By;fECvZkK?VU3 z2umOcf*}N!LMVj6GLYX5Z=7JOZn+3)OHJbS_LSiAGrI!=DT{?;aFGb;nP3U{D)}bd~qDmMx4C!^P!rU%k7Q|SVOP)D%saA8>Q&UDo3NF zEc-q&Xl=nki+gyN>uob(PTOkc$sQkU$UX1Zljed`4zIHM*^#RjqP%N++_ASs<}0pS zPx>wR2d?J|E_O8bw?znW4@!86hxeRulJX)aBAly*#BkYDPcei0vmUuL6liU`+73}B zh0zSHIOZgZ>Q-(eL#ct-JYLak-BptLjxhH;`AnVB8i|&p6(|a=M5~YjMWYxLi{el` zT8)$_0VSd}Xe~-YDwK@Yp%j#g)M!0QLmSXWq(SLu6UsoFQ6}1gvQRe4LAfXoZADt7 WL;0ux6{2luJKBME5~Hizc*6>igAc3(1^9v=C}9<-U^Vzd z0H`4l*1%c_f_1PSHo!*M1e)u?r#~-`ensJT=%aMz*TGm%ll66Q=dODfi1n^m%rbxP zMcZ@BX z0C2X@ zPHW!RE8iJ>oU15_~i+8m0zl0Gk$YxESQOXUCUctxU-o^ChYuxc^e<9(xg=!12FdsDNR9d&@8-6oha z)^2>KBj1!-dqN*SK|Z{GAYp%NGsm{so+FC&&6DnPiK17W0o~Q5P}xW%&{${xLgI@6TU>3+B4{Cq2`e z|E@qaZD|}2XGFP-OhuO(n@Q`qt#eUei;s#tE+d-mumFZU5=Kl2L>0y5in&VN6w#P) z&yIIYhM-UshO|hB^e7xfAOng-Q79V4pjfm88PQf0hvHEJN<>L$8%jngXgf+pJ5U-* tM;XY3GEo-FMmZ=K<)M63fC^C&+KGx$2`WWpXcsC+yHN${n5?Xr`~yY7&b9ym diff --git a/tools/meeting-notes/dist/index.js b/tools/meeting-notes/dist/index.js index f9df452ea..af3060d62 100644 --- a/tools/meeting-notes/dist/index.js +++ b/tools/meeting-notes/dist/index.js @@ -27,20 +27,17 @@ function getEnvList(key) { const value = getEnv(key); return value.split(',').map(s => s.trim()).filter(Boolean); } -async function transcribeWithOnnxAsr(wavPath) { +const PYWHISPER_PYTHON = '/home/nicholai/.local/share/hyprwhspr/venv/bin/python3'; +const PYWHISPER_MODEL = 'small.en'; +async function transcribeWithWhisper(wavPath) { return new Promise((resolve) => { - const python = spawn('python3', [ + const python = spawn(PYWHISPER_PYTHON, [ '-c', ` -import sys -import os -os.environ['ORT_LOGGING_LEVEL'] = '4' -sys.path.insert(0, '/usr/lib/hyprwhspr/lib/src') -import onnx_asr -model = onnx_asr.load_model('nemo-parakeet-tdt-0.6b-v3', quantization='int8') -with open('${wavPath}', 'rb') as f: - result = model.transcribe(f.read()) -print(result if isinstance(result, str) else result.get('text', '')) +from pywhispercpp.model import Model +model = Model('${PYWHISPER_MODEL}') +segments = model.transcribe('${wavPath}') +print(' '.join(seg.text for seg in segments)) `.trim(), ]); let output = ''; @@ -53,7 +50,7 @@ print(result if isinstance(result, str) else result.get('text', '')) }); python.on('close', (code) => { if (code !== 0) { - console.error(`[TRANSCRIBE] onnx_asr failed: ${error.slice(0, 200)}`); + console.error(`[TRANSCRIBE] pywhispercpp failed (exit ${code}): ${error.slice(0, 200)}`); resolve(''); return; } @@ -240,7 +237,7 @@ class MeetingNotesBot { console.error(`[FFMPEG] Failed with code ${code}`); return; } - const text = await transcribeWithOnnxAsr(wavFile); + const text = await transcribeWithWhisper(wavFile); unlinkSync(wavFile); if (text) { const segment = {