I've been using Pd as a sound environment, generating midi as well as generating sounds, although more of the former than the latter. The main reason for that was that I didn't really have a useful way of getting sound to and from Pd - but I do now, with Soundflower which I don't know why it took till now for me to find.
Add to that the Percolate binaries I just found for Os X - with a lot of granular synth instruments and I have a ton of great new reasons to work with Pd.
A quick rundown of the various physical interfaces I have for sensing information from the real world
In short: Lots. I am going to build a compendium of how to talk to these things from environments I care about, which are mainly Processing, Puredata and then some previously nonexistent time series glue that I might have to write on my own.
Yesterday I sat down to try out an idea in Puredata, started assembling the parts, without knowing how they would combine to a whole, but then realized - by looking at them - how simple it would be to get there.
That's not how the experience usually works in classic procedural code, where you assemble for the goal.
I can't say that I'm more productive, but it's certainly a more joyful experience. As for productivity - it's hard to measure really. I write code that does things that are really simple in principle, but since I can wire them into a powerful set of tools very easily, they end up feeling productive anyway.