Работа с дорожками аудио-файлов

Бюджет: 7 500 руб
100.95 $ – 84.70 €
Заказчик выбрал исполнителя:
Данил Смирнов  
Необходимо разработать Back-end (серверную часть)
Серверная часть будет работать как API:
Принимать запросы методом POST и отдавать в виде json.
пример запроса:

POST /api.php
Host: example.com
Content-Length: 2740
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryWfPNVh4wuWBlyEyQ
------WebKitFormBoundaryWfPNVh4wuWBlyEyQ
Content-Disposition: form-data; name="fileName"; filename="file1.mp3"
Content-Type: audio/mp3
[file content goes there]
------WebKitFormBoundaryWfPNVh4wuWBlyEyQ


Авторизация по токену, хранить его в базе не надо (прямо в коде зашить).
Обращение к api должны идти через https

POST-запросом программа должна получать файл с двумя звуковыми дорожками и сохранять его на сервер. 
Пример файлов, которые будут отправляться пост-запросом прилагаем


Полученный Stereo-файл Программа должна проанализировать и подготовить ответ в формате JSON, который будет в себя включать следующие данные: 

url – адрес по которому будет доступен проанализированный файл
step – шаг в миллисекундах
channel1 – первый канал массив точек для построения визуализации
channel2 – второй канал массив точек для построения визуализации
length – общая длительность записи в миллисекундах
speak1 – разговор на первой дорожке, массив время начала- длительность
speak2 – тоже самое для второй дорожки
silence1 – тишина на первой дорожке, массив время начала- длительность
silence2 – тоже самое для второй дорожки
scream1 –  повышение голоса(крик) на первой дорожке, массив время начала- длительность
scream2 – тоже самое для второй дорожки
totalspeak1 – общее время разговора в мс для первой дорожки
totalspeak2 – общее время разговора в мс для второй дорожки
totalsilence1 – общее время молчания в мс для первой дорожки
totalsilence2 – общее время молчания в мс для первой дорожки
pause – паузы в разговоре, массив пауз, каждая пауза это массив начало в мс, длительность в мс, номер дорожки которая последняя звучала
imposition – наложение одной дорожки на другую, массив наложений, каждое наложение это массив начало в мс, длительность в мс, номер дорожки которая наложилась(та которая перебила собеседника)

Пример json
{
url: "example.com/upload/somefi...",
step: 500,
channel1: [0,0,0,0,50,34,45,50,0,0],
channel2: [80,78,60,0,0,0,0,0,50,67],
length: 5000,
speak1: [[2000, 2000]],
speak2: [[0, 1500], [4000, 1000]],
silence1: [[0, 2000], [4000, 1000]],
silence2: [[1500, 2500]],
scream1: [[2000, 2000]],
scream2: [],
totalspeak1: 2000,
totalspeak2: 2500,
totalsilence1: 3000,
totalsilence2: 2500,
pause: [[2300, 300, 1]],
imposition: [[2300, 300, 1]],
}

Анализ файла и формирование статистики и данных для визуализации.

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

Пример файла, который должен обработаться по этому принципу во вложении.
Сданная работа – рабочий софт со всеми исходниками, полученный по почте dela4alex@gmail.com (или через платформу fl.ru) и обработанный файл этим же софтом. + документация по работе софта.

при удачном завершении работы – переходим к следующей сделке (второму и последующим этапам)
Опубликован 13.08.2018 в 16:29 Последнее изменение: 14.08.2018 в 16:08

Выберите способ верификации:

Обновите страницу после прохождения верификации.