Несколько Midi-сообщений для создания полифонического синтезатора

Я создаю полифонический синтезатор, с помощью которого можно одновременно играть 4 ноты. В функции входящего сообщения Midi я пытаюсь настроить ее так, чтобы при получении сообщения noteOn 1 добавлялся в мою переменную numOfNotesPlaying.

В настоящее время у меня есть двумерный массив осцилляторов, потому что я хочу, чтобы 4 управлялись индивидуально с помощью ползунков амплитуды, но я также мог играть аккорд.

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

for(int i = 0; i < 4; i++)
{



        if(message.isNoteOn())
        {
            numOfNotesPlaying += 1;
        }
        if(message.isNoteOff())
        {

            numOfNotesPlaying -= 1;
            DBG("Off");
        }


    oscillatorBasePtr[i][numOfNotesPlaying].get()->setFrequency(message.getMidiNoteInHertz(message.getNoteNumber()));
    oscillatorBasePtr[i][numOfNotesPlaying].get()->setAmplitude(message.getVelocity() * 0.1);


}

Любой совет будет высоко ценится, спасибо заранее.

  • Если этот вопрос задан неправильно, пожалуйста, дайте мне знать, как я могу задать лучшие вопросы в будущем.

0 ответов

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