Как реализовать MIDI-плеер MIDI.js для последовательности нот

Я использую MIDI.js в своем проекте, вот мой код для воспроизведения последовательности нот MIDI

for (var repeat = 0; repeat < melodyrepititions; repeat++)
        {
            for (var i = 0; i < composition.length; i++)
            {
                for (var j = 0; j < composition[i].length; j++)
                {
                    if (composition[i][j] != 0)
                    {

                        MIDI.noteOn(0, composition[i][j] + scale, velocity,delay );
                        MIDI.noteOff(0, composition[i][j] + scale, delay+onlynotationsofeachbeatbracketdelay[i][j]);
                    }
                    else if (composition[i][j] == 0)
                    {
                       MIDI.noteOff(0, composition[i][j] + scale, delay);
                    }
                    delay = delay + onlynotationsofeachbeatbracketdelay[i][j];
                }
            }
        }

Я хочу реализовать проигрыватель MIDI.js для этой последовательности, чтобы начать, приостановить, остановить мелодию во время воспроизведения. Я не могу понять, как я могу использовать функции проигрывателя MIDI.js для такой последовательности. Пожалуйста, руководство.

2 ответа

Используйте https://github.com/surikov/SSSynthesiser.js вместо MIDI.js.

SSSynthesiser.js имеет полный контроль над тем, что играет. Вы можете изменить в реальном времени все образцы инструментов, мелодии и т. Д.

Обновить

это старый ответ.

Используйте https://github.com/surikov/webaudiofont вместо него.

Читайте документы, смотрите примеры. Смотрите пример для MIDI-плеера здесь https://surikov.github.io/webaudiofont/examples/midiplayer.html

Я думаю, что невозможно реализовать MIDI-плеер непосредственно для последовательности нот, поэтому я получил следующее решение: нужно преобразовать последовательность нот в MIDI-файл, а затем вы можете ввести MIDI-файл в плеер. Вот ссылка, которая дает более подробную информацию о преобразовании файла MIDI

http://mudcu.be/journal/2011/11/base64-soundfonts/

Библиотека, которая помогает конвертировать последовательность нот в MIDI-файле https://github.com/sergi/jsmidi

Другие вопросы по тегам