@DiLZayd

Синхронность ритма и клавиши. Как сделать?

Всем привет, пытаюсь создать сайт по музыкальной грамоте. Но главной проблемой стоит создание программы чтоб при проигровании ритма, например миди-фаила, требовалось нажимать клавишу. Не понимаю в каком направлении идти.
  • Вопрос задан
  • 209 просмотров
Пригласить эксперта
Ответы на вопрос 2
sergiks
@sergiks Куратор тега JavaScript
♬♬
Тут две задачи: воспроизводить в браузере midi-файл и оценивать попадание в бит нажатием клавиши.
Легко гуглятся плееры midi-файлов для браузера. Но пока не заметил наличия у них API для выделения сильных долей. Ещё неудобство: midi — не ноты, там нет размера, темпа. Просто время начала ноты и её длительность в миллисекундах, условно.

Лучше – проще. Я бы взял за основу проигрыватель лупов (коротких кусков аудио, которые можно воспроизводить циклично). Для них точно известна длительность, размерность (вручную, а слух, заранее), начало отсчёта. Загружаете с вашего сервера очередной аудиофайл. Воспроизводите его, смотрите, как близко к искомым моментам времени поступают события нажатия.

Начните с простого фиддла: загрузите короткий аудио фрагмент, пусть он играет по кругу (как вы это сделаете?) и регистрируйте нажатия на пробел: задача попадать в восьмушки.

С этим же «движком» вполне можно тренироваться и на целых песнях – попадать под фанеру. Вам только понадобится заранее каждый файл разметить: когда начало первого такта и какой точно ритм – чтобы сетка легла точно на всю песню и не съехала к концу.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
В направлении изучения инструмента (не музыкального!).
Учите javascript.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы