For the Korg NTS-1, I am outputting something other than just note on/off events. The NTS-1 is somewhat unique that its arpeggiator computes arpeggio notes and timing onboard with three parameters: root note (the key you press), the chord pattern (major, minor, dim, sus, aug), and the arp pattern(up, down, up-down, random, etc.) and then generates the arpeggio. The root note is a simple note on, but the chord pattern and arp pattern are controlled through MIDI control change settings.
And the first question - also yes. But for synths other than the NTS-1 you'd have to send each note individually so you will more to do - e.g. keep track of note positions, determine notes in each chord, etc. I might try to do this too. As far as I know, the NTS-1 is the only one that has such a smart arpeggiator (probably because its monophonic and you can't enter chords easily...).
I guess I'll have to add an NTS-1 to my Korg family!
I've written bash scripts (using sendmidi [1]) to arpeggiate chords when I was feeling particularly lazy. It's pretty easy in midi. Figure out the root note, figure out the pattern, and just turn on/off root+pattern[i] :-).
[1] sendmidi is a great little command line tool to send midi commands to devices, or to record midi commands from devices. Its input format is plain text and you can include timing information so it's pretty easy to script music in this way: https://github.com/gbevin/SendMIDI
And the first question - also yes. But for synths other than the NTS-1 you'd have to send each note individually so you will more to do - e.g. keep track of note positions, determine notes in each chord, etc. I might try to do this too. As far as I know, the NTS-1 is the only one that has such a smart arpeggiator (probably because its monophonic and you can't enter chords easily...).