6cd4a8de43
feat: управление яркостью/WiFi очков через Mercury + накопленные доработки
subochev2026-08-29 23:06:52 +03:00
62d2f06797
soft sync audio via PlaybackParameters speed (rate-based, no seekTo jump)
subochev2026-08-27 23:23:50 +03:00
cf8c5ef604
ui(phone): переключение сессий ступенчатым свайпом (порог 120dp, ±1 сессия за жест) + крупнее текст сообщений (14→20sp)
subochev2026-08-27 18:46:31 +03:00
236ff18543
ui(glasses): оверлей ассистента накрывает весь вьюпорт (fillMaxSize, непрозрачный чёрный) — независимо от масштаба и регулятора «Высота» видео
subochev2026-08-27 18:46:31 +03:00
412e093174
ui(glasses): отмена первой записи не закрывает оверлей — возврат в «слушаю», диалог жив даже при пустой истории; выход из режима — только явный жест ExitMode
subochev2026-08-27 18:46:29 +03:00
da8182443c
stt(phone): SttDebug переведён на Qwen3-ASR-0.6B (отладочный прогон wav)
subochev2026-08-25 21:30:09 +03:00
17385d1784
stt(phone): Qwen3-ASR-0.6B int8 вместо whisper-small (константа STT_BACKEND, hotwords тулсет/тулы/умеешь) — откат в одну строку (opencode по ТЗ)
subochev2026-08-25 19:57:33 +03:00
98ac84ffe8
stt(phone): сегментация буфера на фразы перед whisper (лимит ≤30с) — длинные сессии распознаются целиком, фразы склеиваются пробелом (opencode по ТЗ)
subochev2026-08-25 18:09:56 +03:00
ac56e70283
stt(phone): VAD удалён (резал рваный микрофон очков) — полный буфер + trimEdges + хвост 120с + авто-финиш по тишине 30с (opencode по ТЗ)
subochev2026-08-25 03:45:42 +03:00
4e60e11d24
stt: дамп закрывает цикл в finally (нет Stream Closed при стопе)
subochev2026-08-25 03:13:27 +03:00
b0baa19e7d
stt: полный поток без VAD (резал речь на рваном ARGT78) — whisper распознаёт сырой поток (проверено: 1-10 идеально), усиление ×3, сырой дамп
subochev2026-08-25 03:12:04 +03:00
d34d15ecef
stt(dump): сырой WAV всего потока микрофона (до усиления/VAD) — что реально слышат очки
subochev2026-08-25 03:00:47 +03:00
19fe1b34bc
stt(mic): возврат на 16 кГц (48 кГц молчит на ARGT78); VAD на сыром + gain ×5 остаются
subochev2026-08-25 02:59:00 +03:00
1009713a28
stt(mic): 48 кГц как pair-view + VAD на сыром сигнале + усиление ×5 без клиппа + FIR-даунсэмпл 48→16
subochev2026-08-25 02:55:42 +03:00
0f235da0ed
Высота — только для видео: ассистент/коннект-экран следуют масштабу, но всегда у верха
subochev2026-08-25 02:43:45 +03:00
74701a2108
Панель статуса сдвигается к носу вместе с контейнером (panelOffsetX): центр панели = центр контейнера
subochev2026-08-25 02:39:43 +03:00
4f4a551c91
Панель времени/заряда: масштабируется как контент, но прибита к низу экрана
subochev2026-08-25 02:35:24 +03:00
80236902ba
Панель времени/заряда: шрифт фиксированный (scale=1f) — не сжимается вместе с масштабом контента
subochev2026-08-25 02:31:28 +03:00
d113ffd744
Панель времени/заряда: оверлей-слой поверх контента, у низа экрана — стабильно при любом масштабе
subochev2026-08-25 02:28:00 +03:00
8958370507
Панель времени/заряда — вне контейнера, всегда у верха экрана (не повисает между верхом и видео при vertical=0)
subochev2026-08-25 02:24:57 +03:00
883fd8e5e4
Высота: видео в контейнере прижимается к верху/низу по vertical (Row-центрирование съедало вертикаль)
subochev2026-08-25 02:15:48 +03:00
6d22f56bd8
Регулятор «Высота» экрана очков (0..1, с учётом масштаба): SetVertical по протоколу, offset Y в кино/коннект/оверлее, слайдер на пульте
subochev2026-08-25 02:11:01 +03:00
b17b5bf424
stt(glasses): VAD на очках (WebRTC, схема pair-view) — речевые сегменты с пре-роллом, межфразовая тишина не шлётся
subochev2026-08-25 01:51:57 +03:00
fc84ba16b6
stt(mic): request frames in frames (inFrameCount), not bytes — each chunk now carries full 100 ms
subochev2026-08-24 11:10:05 +03:00
c940a7e0eb
stt(mic): AudioRecord.read возвращает КАДРЫ, а не байты — не терять вторую половину каждого 100-мс чанка (впечатление 'пропускает через один')
subochev2026-08-24 11:08:27 +03:00
22eb83fd17
stt: debug-дампы аудио-пути (очки: сырой микрофон в WAV; телефон: принятые PCM) по старту от stt_dump.marker
subochev2026-08-24 05:58:59 +03:00
c1c169036a
stt: VAD-интерфейс (Sherpa боевая / Silero тестовая), PhraseRecognizer (Whisper), чистый full-text-тест на реальном Silero VAD
subochev2026-08-24 05:43:29 +03:00
504e66f0c6
Очки: красный индикатор записи микрофона в режиме «слушаю»
subochev2026-08-23 21:58:36 +03:00
e24caaa684
Очки: разграничение SttCancel (user/timeout) — выход из режима при тишине 30с, микрофон закрывается при потере фокуса
subochev2026-08-23 21:17:43 +03:00
eaca47c443
Очки: единый скролл диалога на оба глаза + мгновенная пауза звука телефона при вызове ассистента
subochev2026-08-23 21:08:40 +03:00
706cc10d1e
Очки: история диалога в свайпе + распознавание в LLM только по клику (касяки 1-3)
subochev2026-08-23 20:15:21 +03:00
51049d56a8
Чат: автоименование сессии из первого сообщения
subochev2026-08-23 17:40:12 +03:00