Как программно проигрывать ноты гитары?
Синтез гитары по сложности тянет на уровни от курсача до докторской диссертации и далее в R&D в какой-нибудь компании типа Roland или Yamaha.

Если вам достаточно уровня курсача, вы можете открыть для себя математическую модель колебаний струны (в том же учебнике Тихонова энд Самарского). 

Но тут надо понимать, что это будет воспроизводить звучание Сковородки, а у реальной гитары, особенно акустической, в извлечении звука принимает участие корпус (а у электрической к корпусу добавится еще и усилитель (и педали-эффекты) и его колонка-кабинет).

Например, если на гитаре основательно дернуть одну струну, она заведет корпус, а корпус заведет остальные струны. Иногда это полезно, иногда - нет, и музыкант глушит лишние струны различными приемами.

Чем больше факторов вы учтете, тем дальше вы продвинитесь от лабораторки за второй курс физмата до R&D в Роланде.

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

И наконец, главное - данная задача в определенном смысле является неуловимым Джо. Вместо сидения перед компом и накручивания трех десятков параметров синтеза на каждую ноту, любой вменяемый музыкант просто позвонит своему дружбану с реальной гитарой (или надергает нужные ноты сам, пусть и в 20 дублей и 120 склеек).

Еще один аргумент в пользу гипотезы неуловимого Джо - даже если гипотетически, вы создадите такой синтезатор, к нему будет необходим контроллер. И тут выясняется, что лучшим контроллером для синтезатора гитары является сама гитара - следовательно, синтезатор из этой схемы можно и выкинуть.
https://source.android.com/devices/audio
Узучите. Возможно Вы найдете то, что я пропустил. 
Я не вижу готового программного миди синтезатора в документации