Веб-аудио для визуализации волновых форм и взаимодействия с ними

Как написать программу на JavaScript для отображения сигнала из аудиофайла? Я хочу использовать Web Audio и Canvas.

Я пробовал этот код:

(new window.AudioContext).decodeAudioData(audioFile, function (data) {
   var channel = data.getChannelData(0);
   for (var i = 0; i < channel; i++) {
       canvas.getContext('2d').fillRect(i, 1, 40 - channel[i], 40);
   }
});

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

Waveform example

Любой подсказки о том, как реализовать форму волны?

22
задан JAL 16 September 2018 в 17:11
поделиться