Hey,
der Standartchip für Sowas heißt:
ATtiny2313, ATmega8 o.Ä.. Den mußte halt nur programmieren.
Ich habe gerade die Klangerzeugung der Drums
aus 'ner alten Quelle-Orgel extrahiert
und steuer die über MIDI mit 'nem Mega8 an.
Das Problemchen ist nur, Du brauchst dafür 'nen
"geraden" Quarz (1, 2, ... 16,20MHz) sonst wird der Fehler
bei 31250Baud (MIDI) zu groß.
Ich nehm übrigens als Optokoppler den 6N137, der ist billiger,
als der Klassiker PC900 und tut's klaglos.
Übrigens: MIDI ist Asbachuralt, da hat sich seit 1983
nicht viel geändert, sprich: Dein Buch stimmt sicher immer noch.
Nur die Chips, die sowas bedienen sind wesentlich komfortabler
geworden. Externe ROMs oder RAMs braucht man halt nicht mehr.
Und noch was interessantes: Im MIDI_Protokoll
ist jedes Byte, das mit einer 1 beginnt ein Statusbyte,
beginnt das Byte mit 0, so ist es ein Datum.
Das mit der proportionalen Spannung ließe sich sicher
gut mit der PWM bewerkstelligen. Wenn einzelne LEDs
leuchten sollen, sind Schieberegister (Serial in Parallel out) angesagt.
Wenn's wen interessiert, kann ich ja mal was Sachdienliches dazu Posten.