# 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 ```sql 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 - [expo-speech docs](https://docs.expo.dev/versions/latest/sdk/speech/) - [React Native Voice](https://github.com/react-native-voice/voice)