Тут получается делема - во первых, логарифматор - пойди-ка, настрой-ка, а во вторых если делать полностью цифру, то пожно потерять некоторые "вкусности", если делать цифра+аналог - все хорошо, но например другой синт может не иметь логарифматора.
Что я предлагаю - я уже написал программный ШИМ. На скока-хочешь каналов, все 16-битные. В контроллере есть два встроенных 16-битных ШИМа, Что имеем.
Встроенные шимы могут работать с частотой несущей 244Гц, что для нас классно и вопросов нет. Програмный шим может дать несущую в 7Гц всего, что явно недостаточно для быстро-изменяющихся сигналов. (это все, если точность будет 16битная, если понизить до 10 бит, то програмная станет 100Гц, что хорошо)
Всего как я понял нужно 4 канала ЦАП -
1) Нота, грубое значение (но нужно 16бит для возможности реализации логарифма)
2) Питч бенд, точное значение, в протоколе дается 14битами, тоесть нужен такой-же ЦАП (14битный программный выдает 30Гц)
3) Велосити - в протоколе передается 7бит, 16 бит нужно для вывода по таблице
4) Модуляция - передается 7 бит, вот их наверняка линейно можно и выводить, без никакой таблицы.
Варианты решения -
1) Сделать смесь программной и аппаратной ШИМ. Аппаратная понадобится только одна, тогда
Нота и Велосити - аппаратно 16бит, Модуляция - аппаратно 8 бит, Питч Бенд - програмно, 16 бит (задержка 33мс)
2) Програмно считать сумму нота+модуляция, тогда все шимы аппаратные
3) Выбрать более дорогой и/или более сложно программируемы проц.
4) Взять два проца, да и сделать сеть

-чиста пой подход агррр

)
5) Прифигацить внешние АЦП (16бит ацп - удовольствие нехилое)
6) Поствить демультиплексоры и цепочки r-2r (точность такого метода неизвестна

)
Вроде и все. Между прочим в той статье, что обсуждалась с Пиком, бло всего два ЦАП'а и оба восьмибитные.
Еще - про 16бит точности с односторонней платой пожете забыть. Минимум 2 слоя, по нормальному - 4.