Дрова писать под USB - совсем не просто. Думаю, что если есть возможность
этим не заниматься, то то лучше не заниматься :-)
Контроллер с аппаратным USB - любой подходящий ARM (например,
AT91SAM7... или LPC). Хороший вариант контроллеры
от Silabs, если не смущает 51-е ядро -
http://www.silabs.com/tgwWebApp/public/web...BMCU_matrix.htmМожно подумать в сторону контроллеров от Cypress и Microchip.
Я бы для такой задачи остановился, наверное, на Silabs.
Посмотри также на трансивер со встроенным USB, типа nRF24LU1 от Nordic.
Касательно проекта - давайте определимся с фичами, и можно приступать :-)
Я это вижу так - маленькая платка и 8 переназначаемых кнопок (программирование через sysex). Команды назначаются на нажатие, отпускание либо переключение каждой кнопки. Назначить можно любую команду из voice группы (note on, note off, program change, control change
и т.д.).