MIDI и использование MP3 - это совершенно разные вещи. Вы можете запрограммировать MIDI так, чтобы он звучал как пианино, но вам придется проделать большую работу, чтобы получить хороший результат, и вы должны знать, что результат будет зависеть от звукового оборудования телефона. Поддержка Android для MIDI также очень плохая, и вам понадобится много кода для выполнения сантехнических работ. Я рекомендую вам придерживаться MP3. Файлы размером 100x20k не так уж и велики. Вы могли бы сделать их меньше с некоторым дополнительным сжатием. Для таких вещей, как отдельные заметки, вам действительно не нужно высокое качество звука. Попробуйте это на своем телефоне с 16 кбит / с, 32 кбит / с и 64 кбит / с.
Если вы используете MP3, вы можете рассмотреть возможность использования классов SoundPool. Взгляните на учебник здесь
Это позволяет вам создать HashMap с индексом для каждого звука, который затем можно использовать для воспроизведения каждой отдельной ноты. Индекс может быть номером ключа, например. Чтобы воспроизвести ноту, вам нужно просто вызвать метод playSound в SoundPool с соответствующим индексом.
Я предполагаю, что у вас ограниченное количество клавиш пианино, и поэтому накладные расходы на загрузку нескольких звуковых файлов (ваших MP3) приемлемы. Если у вас большое число, возможно, вам следует подумать о загрузке звуковых файлов только для клавиш, которые видны пользователю, чтобы контролировать использование вашей памяти.