Обнаружение пиков с помощью веб-аудио API? - PullRequest
0 голосов
/ 26 декабря 2018

TL; DR - я хочу использовать Javascript для определения каждого клика в треке кликов барабанщика (mp3 с только битами), а затем заменить их на .wav образцы другого звука клика.Трек клика барабанщика не в постоянном времени, поэтому я не могу просто определить BPM и заменить сэмплы из этого.

У меня есть задача, которую я хотел бы решить с помощью Javascript и API веб-аудио, ноЯ не уверен, возможно ли это на самом деле с использованием любого из этих ....

В основном я регулярно использую записанные минусовки для песен и заменяю трек кликов по умолчанию (трек метронома, к которому играет барабанщик)с пользовательскими сэмплами кликов (один .wav-сэмпл для первого удара такта и другой сэмпл для оставшихся тактов на любом заданном такте).Досадно, что многие из этих треков кликов барабанщика не имеют постоянного времени - поэтому не имеют постоянного BPM от начала до конца.

Я хочу обнаружить каждый клик в треке кликов (каждый пик звуковой волны) и затем заменить ихс образцами .wav и загрузите окончательный файл в формате MP3.Это возможно?

1 Ответ

0 голосов
/ 26 декабря 2018

Нет встроенного способа сделать это в WebAudio.Вы должны будете реализовать свой пиковый детектор, используя ScriptProcessorNode или AudioWorkletNode.Как только вы определите местоположение каждого пика, вы можете запланировать повторные клики, чтобы начать воспроизведение во время кликов.С OfflineAudioContext вы можете получить результат PCM.Чтобы получить сжатую версию (вероятно, не mp3), я думаю, вам нужно использовать MediaRecorder.

...