Необходимо разработать 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) и обработанный файл этим же софтом. + документация по работе софта.
при удачном завершении работы переходим к следующей сделке (второму и последующим этапам)