Разработка сервиса Speech-to-text на базе существующего API (командный проект)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Компания On-Air.Pro
Учебный семестр Осень 2017
Учебный курс 3-й курс
Максимальное количество студентов, выбравших проект: 2-8



Что это за проект?

Разработка в уже действиующем проекте, направления работы -- от UI/UX до предобработки потоков и анализа и обработки результатов распознавания и перевода.

Суть проекта: пользователь загружает видео- или аудио-файл, файл преобразуется для отправки в один или несколько сервисов распознавания, далее результат высылается на электронную почту пользователя.

Сервисов распознавания и перевода существует много, но всилу специфики их назначения и произвольного характера поступающих от пользователей исходных файлов, требуется предобработка и последующая сборка результатов. Взаимодействие со сторонними сервисами -- через API. При этом, различные сервисы по-разному воспринимают особенности исходных записей. Например, одни не любят телефонные разговоры, а другие -- многоголосые записи. Стоимость обработки также различается.


Отдельное направление -- разработка личного кабинета со статистикой, сохранением результатов ранее проведенных распознаваний и исходных файлов (файлы сохраняются на аккаунте GoogleDrive). В том числе, требуется поддержка обработки папок (GoogleDrive, FTP, WebDAV) в качестве источников файлов и места сохранения результатов.

Также отдельный подпроект -- подключение не только распознавания, но и перевода (также через API).

Результаты распознавания и перевода могут быть представлены как простым текстом, так и размеченным таймкодами, облаком тегов и т.д.

Заметим, что операции распознавания и перевода доступны в реальном времени и одной из задач (на практике уже проверено -- работает) будет реализовать для пользователей возможность давать на вход сервиса не только файлы, но и потоки, а на выходе -- поток субтитров, в т.ч. автоматически стримить в Yotube.

Разработка на Ruby on Rails.

Чему научатся студенты? Что самое интересное в проекте?

В зависимости от выбранного направления работы:

  • работа с API сторонних сервисов
  • предобработка потоков (gstreamer, ffmpeg)
  • UI/UX разработка
  • OAuth, работа с платежной системой
  • Работа с хранилищами файлов (GoogleDrive, WebDAV, FTP)

Задачи разносторонние, поэтому каждый найдет себе что-то по вкусу.

Организация работы (Как студенты будут работать в команде?)

Роли и точный состав работ формируется по итогам регистрации желающих участвовать (команда может быть смешанной, в т.ч. со студентами МИЭМ и других факультетов, аналогичная тема заявлена на ярмарке проектов.

Далее организуется slack и трекер (обычно trello), где ведется рабочее общение и трекинг задач. Встречи -- по договоренности (на первых порах это понадобится точно) на Кочновском, альтернативный и более частый вариант -- аудио/видеосвязь. Удобно, т.к. можно собираться по актуальному вопросу безотлагательно и в любое время в любом составе.

Компоненеты (Из каких частей состоит проект?)

  • Связка с API сервисов распознавания и перевода (отдельные подпроекты)
  • UI (личный кабинет)
  • UX всего сервиса, прототип.
  • Взаимодействие с хранилищами
  • Платежный модуль
  • Пред- и пост-обработка данных пользователя.

Какие будут использоваться технологии?

  • API сервисов распознавания и перевода, Google Drive и Youtube, ЯндексКассы.
  • Ruby on Rails, Java Script
  • Анализ видео- и аудиофайлов, их предобработка
  • Анализ текстов и их обработка

Какие начальные требования?

В зависимости от выбранного направления -- владение соответствующими технологиями и языками. Очевидно, потребуется знать или изучить большинство используемых инструментов и языков.

Темы вводных занятий

Не в порядке изложения:

1. Архитектура проекта. API, внешние связи и зависимости.

2. Специфические технологии и используемые инструменты.

3. Доступные ресурсы, организация доступа.

4. Разделение ролей

Критерии оценки

Про работу и оценки почитайте здесь: https://d.pr/143bq

Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!

Похожие проекты

Данный проект в текущем виде доступен по адресу transcript.on-air.pro Распознавание голоса также возможно с использованием приложений, но полного аналога в сети не встречали (чтобы файл и поток отдавал в тексте, причем, с таймкодами, и в srt потоке для субтитров в реальном времени).

Данный проект на ярмарке проектов ВШЭ: https://pf.hse.ru/208036688.html

Контактная информация

Денис Королев,

https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)

+7 903 610 3290 (месенджеры по вкусу)

d.korolev@gmail.com