Голосовые команды
Поиск задач, таймер и смена организации голосом — распознавание на устройстве, без сети
Голосом можно найти задачу, открыть её, запустить и остановить таймер, спросить, что сейчас запущено, и переключить организацию — не глядя в экран, например на объекте с телефоном в руке. Команды понимаются на русском языке.
Где кнопка микрофона
- Список задач — круглая кнопка с микрофоном над кнопкой создания задачи. Видна всегда: если распознавать пока нечем, нажатие объяснит причину и предложит скачать модель.
- Карточка задачи — кнопка микрофона в панели действий. Появляется, только когда распознавание готово, — неработающей кнопки в ряду действий нет.
Одна команда — одно нажатие: после ответа микрофон выключается.
Распознавание: на устройстве, без сети
Речь распознаётся на самом телефоне — запись никуда не отправляется. Движок выбирается автоматически:
- Системное распознавание — если телефон его умеет (Android 13 и новее, установлен сервис распознавания с русским языком — обычно это телефоны с сервисами Google). Скачивать ничего не нужно, голос работает сразу.
- Vosk — на остальных телефонах. Модель распознавания в приложение не входит — её нужно один раз скачать, дальше голос работает без сети.
Выбрать движок вручную и управлять моделью можно в Настройки → Голос → «Голосовой ввод». Явный выбор важнее автоматического.
Скачивание модели
- Загрузка по умолчанию ждёт Wi-Fi. Скачать по мобильной сети можно кнопкой «По мобильной сети» — приложение заранее покажет размер загрузки.
- Экран показывает состояние модели: «Не скачана», «Ждёт Wi-Fi», процент загрузки, «Готова». Прерванную загрузку можно повторить, скачанную модель — удалить.
- Скачанный файл сверяется по контрольной сумме. Не сошлась — файл удаляется, и экран честно говорит «Повреждена», а не делает вид, что всё готово.
- Не хватило места на телефоне — экран назовёт, сколько не хватает.
Память и трекинг
Перед началом записи приложение проверяет свободную память. Если её не хватает для модели, запись не начинается — с объяснением, сколько нужно и сколько свободно. Так голос не может уронить идущий GPS-трекинг.
Команды
Скажите «что ты умеешь» — приложение перечислит доступные команды.
| Команда | Пример | Что происходит |
|---|---|---|
| Поиск задач | «найди кран» | Поиск по сохранённым задачам организации — см. ниже |
| Выбор из выдачи | «открой вторую» | Открывается карточка задачи с этим номером из последней выдачи |
| Старт таймера | «запусти таймер по крану» | Начинается учёт времени по названной задаче |
| Остановка таймера | «останови таймер» | Учёт времени по задаче завершается |
| Что запущено | «что сейчас запущено» | Только ответ — ничего не меняется |
| Смена организации | «переключись на Ромашку» | Меняется активная организация |
| Очистка поиска | «очисти поиск» | Очищается только поле поиска списка |
| Сброс фильтров | «убери фильтры» | Список показывает задачи без фильтров и пресетов |
| Отмена | «отмена» | Снимается ожидание уточнения |
Перед выполнением приложение показывает, как оно поняло фразу и что будет сделано.
Поиск голосом
- Голос ищет по всем сохранённым на телефоне задачам активной организации — экранные фильтры списка при этом не учитываются. Ответ так и звучит: «в сохранённых задачах организации найдено N».
- Список переходит в режим «Голосовой поиск: …» с вашим запросом с плашкой «найдено N · показаны M» и кнопкой «Сбросить». Показываются первые 5 совпадений, пронумерованные по порядку. Ваши фильтры не меняются — после сброса список возвращается к прежнему виду.
- Номер из выдачи («открой вторую», «запусти таймер по второй») действует 60 секунд. Потом выдача считается устаревшей: фоновое обновление могло сдвинуть номера, и приложение попросит повторить поиск, а не выполнит команду по другой задаче. Выдачу сбрасывают также новый поиск и смена организации.
- Ничего не нашлось — приложение не говорит «такой задачи нет»: задача может быть просто ещё не загружена. Обновите список и повторите поиск.
Таймер голосом
- Старт требует названной задачи: «запусти таймер по крану» или номер из выдачи. «Запусти таймер» без задачи на списке — отказ с просьбой назвать задачу: приложение не угадывает, по какой задаче считать время. На карточке задачи цель — открытая задача.
- Если под название подходит несколько задач или совпадение неточное, приложение переспросит, даже если кандидат один. Точное совпадение (номер задачи, название целиком) запускается сразу.
- Голосовой старт подчиняется тем же правилам, что и кнопка: политика команды, лимиты сессий, разрешение на точное местоположение.
- Остановка — тихая, как из уведомления: без комментария и без смены статуса. Время уходит в трекер по тем же правилам, что при обычной остановке, — у трекеров, которые время не принимают, его в трекере не будет (см. «Что умеет каждый трекер»).
- Если запущено несколько таймеров, приложение попросит уточнить, какой остановить.
Смена организации голосом
При точном совпадении названия организация переключается сразу, при неточном — после подтверждения. Без сети переключение тоже работает, и ответ звучит отдельно: «Переключено на Ромашку, пока без сети» (см. Офлайн-режим).
Озвучка ответов
Приложение произносит исход команды: «Таймер запущен», «Нашлось 3 задачи». Список найденных задач не зачитывается — только число совпадений, а выбрать задачу можно по номеру.
- Названия задач вслух не произносятся по умолчанию — рабочие названия считаются чувствительными данными. Включить: Настройки → Голос → «Озвучка ответов» → «Озвучивать название задачи».
- Озвучку целиком можно выключить там же.
- Используется только офлайн-голос телефона — сетевой синтез речи не применяется никогда. Если офлайнового русского голоса на телефоне нет, озвучка остаётся выключенной, а приложение предложит установить языковой пакет.
Если голос не срабатывает
Приложение говорит, в чём причина, а не молчит:
- нет доступа к микрофону — выдайте его в системном диалоге или в настройках приложения;
- модель не скачана или повреждена — кнопка ведёт на экран «Голосовой ввод»;
- не хватает памяти — запись не начата, чтобы не уронить трекинг;
- в фразе нет команды — фраза без глагола команды («найди», «запусти», «останови»…) не превращается в поиск сама по себе; скажите, например, «найди кран»;
- перед командой прозвучало «не» — ничего не выполняется.
Что именно услышано и как разобрано, можно посмотреть в Настройки → Голос → «Отладка голосовых команд»: фразу можно продиктовать или набрать с клавиатуры, команды оттуда не выполняются.