К нам обратился ВТБ, чтобы мы доработали их приложение для голосования.
Клиент пришел с уже готовой базовой частью. Нам нужно было проверить систему идентификации пользователя через NFC-метку, освежить дизайн приложения и добавить фичу, которая бы переводила текст в речь и могла распознавать голос.
Для тестов нам прислали планшет, считыватель меток и саму метку, с помощью которой пользователь авторизовывался в системе.
Доработали запрос, который идентифицировал пользователя по базе.
Обновили дизайн.
Задачу с голосовым модулем решили с помощью нативного iOS-фреймворка Speech, через который работает голосовой помощник Siri.
Приложение вышло летом 2019 года.
Обсудили с заказчиком задачи приложения и прописали ТЗ. Создали прототип в Figma и приступили к разработке. В общей сложности работали около 2,5 месяца.
При авторизации через метку запрос не проходил, из-за того что не совпадали форматы данных. Так случается, если серверная часть приложения обновляется, а та, с которой взаимодействует пользователь, — нет. Чтобы авторизация заработала, мы обновили формат данных.
Еще до этого мы не работали с распознаванием голоса, поэтому нужно было изучить новую для нас технологию.
Чтобы переводить вопросы в речь и распознавать голос, мы использовали нативный iOS-фреймворк Speech. Текст вопроса и варианты ответа попадают во фреймворк, после чего их зачитывает голос Siri. Далее приложение переходит в режим «Слушать ответ» и соотносит речь пользователя с предложенными вариантами.
Технически речь преобразуется в текст, а приложение ищет совпадения между тем, что сказано, и вариантами ответа. Если ответ говорящего совпадает с предложенным вариантом, то его голос засчитывается. Если приложение не находит совпадений, то Siri просит произнести ответ повторно более четко.
При работе мы столкнулись с некорректным переводом с английского языка на русский. Поэтому еще пришлось поработать над локализацией.
«Изначально мы хотели, чтобы голос записывался в аудиофайл и поступал на сервер. Там бы все парсилось и соотносилось, а в ответ пользователю приходила бы строка текста. Но нативный фреймворк выдавал результат быстрее и лучше, поэтому мы отказались от этого решения».
Пользователи заходят в «Кворум» с помощью NFC-метки. Не нужно вводить логин и пароль.