Velostat multitouch matrix (how to prevent leaking?)

Hi there! I've been meaning to build a musical controller similar to the soundplane or the linnstrument for a while, but I always failed at some point after many hours of work. This time I hope to plan better in advance.

I'm thinking about going with the velostat matrix approach, so I'm trying to foresee anything that could possibly go wrong. The approach would be to successively power the columns through a multiplexer, reading from every row at each turn.

The main problem with this approach is the leaking between tracks. Say I'm pushing with one finger at row 3 between columns 4 and 5, and with another finger at row 1 and between columns 3 and 4. When powering column 5 and reading from row 1, I'll get an unwanted signal coming from row 3.

How can I prevent this?

Googling the forum I found a mention of this problem:

Additional problems:

  • if playing two rows at the same column at once, would I get half the reading?

  • the Linnstrument uses the same velostat matrix approach and from what I read, you can't "play a rectangle", that is, four notes that form a rectangle / sharing two rows and two columns. Now, my instrument is more about string emulation, so only the highest note at each row counts - would that solve it?

  • I've seen in other forums people adding a diode at each intersection, not sure I understand the reason: since tracks are continuous, what difference does it make if you solder several diodes at different heights?

If the solutions to these problems imply doubling the amount of muxes or soldering many other components, I might be better off using a key-by-key design, that is, soldering a mux channel to each "key", but that would mean 30 keys * 9 rows = 270 keys. Still, easier than building a piano, but a bit of a pain in the ass. In exchange though, it might be much more reliable.