WellNuo/specs/wellnuo/FEATURE-001-voice-integration.md

3.7 KiB
Raw Permalink Blame History

FEATURE-001: Voice Integration (Голосовая интеграция)

Status: 🔴 Not Started

Project: wellnuo

Overview

Интеграция голосового управления и голосовых напоминаний в приложение WellNuo. Пользователь сможет управлять приложением голосом и получать голосовые уведомления.

User Story

Как пользователь WellNuo Я хочу управлять приложением голосом и получать голосовые напоминания Чтобы было удобнее использовать приложение, особенно для пожилых людей

Requirements

  • Голосовые команды для навигации
  • Голосовые напоминания о приёме лекарств
  • Text-to-Speech для озвучивания уведомлений
  • Speech-to-Text для голосового ввода
  • Настройки голоса (вкл/выкл, громкость, голос)

Technical Design

Libraries

  • expo-speech — Text-to-Speech
  • expo-av — Audio recording
  • @react-native-voice/voice — Speech recognition (или альтернатива)

API Changes

POST /api/voice/settings — сохранить настройки голоса
GET /api/voice/settings — получить настройки

Database Changes

ALTER TABLE users ADD COLUMN voice_settings JSONB DEFAULT '{}';
-- voice_settings: { enabled: boolean, volume: number, voice: string }

Frontend Changes

  • Новый экран: VoiceSettings — настройки голоса
  • Компонент: VoiceButton — кнопка голосового ввода
  • Интеграция в: Dashboard, Reminders, Chat

Backend Changes

  • Endpoint для настроек голоса
  • Опционально: серверный TTS для push-уведомлений

Implementation Steps

Phase 1: Базовая интеграция

  • 1. Установить expo-speech и протестировать TTS
  • 2. Создать VoiceService для управления голосом
  • 3. Добавить экран VoiceSettings в профиль
  • 4. Интегрировать TTS в напоминания

Phase 2: Speech Recognition

  • 5. Выбрать и установить библиотеку для STT
  • 6. Создать компонент VoiceButton
  • 7. Добавить голосовой ввод в чат
  • 8. Тестирование на устройстве

Phase 3: Голосовые команды

  • 9. Определить список голосовых команд
  • 10. Реализовать распознавание команд
  • 11. Интегрировать в навигацию
  • 12. Полное тестирование

Testing

  • TTS работает на iOS симуляторе
  • TTS работает на реальном устройстве
  • STT корректно распознаёт русскую речь
  • Настройки сохраняются и применяются
  • Голосовые команды работают корректно

Notes

  • Для STT на iOS может потребоваться разрешение на микрофон
  • Русский язык должен поддерживаться
  • Учесть offline режим (expo-speech работает offline)

References