According to Cook's Illustrated,
"...soaking dried beans in mineral-rich, hard tap water
can toughen their skins. Some recipes recommend using distilled water to avoid this
issue, but we’ve discovered a simpler solution: adding salt to the tap water, which
prevents the magnesium and calcium in the water from binding to the cell walls, and it
will also displace some of the minerals that occur naturally in the skins. We found that
three tablespoons of salt per gallon of soaking water is enough to guarantee soft skins."
As for acidity, they say this:
"Finally, if you’ve cooked your beans for hours and found they failed to soften, chances
are they are either old and stale (and will never fully hydrate or soften), the water is too
hard, or there’s a acidic element present. Food scientists universally agree that high
acidity can interfere with the softening of the cellulose-based bean cells, causing them
to remain hard no matter how long they cook. Alkalinity, on the other hand, has the
opposite effect on legumes. Alkalines make the bean starches more soluble and thus
cause the beans to cook faster. (Older bean recipes often included a pinch of baking
soda for its alkalinity, but because baking soda has been shown to destroy valuable
nutrients, few contemporary recipes suggest this shortcut.)
But how much acid is too much acid? At what pH level is there a negative impact on the
beans? We cooked four batches of small white beans in water altered with vinegar to
reach pH levels of 3, 5, 7, and 9. We brought them to a boil, reduced the heat to a low
simmer, and tested the beans every 30 minutes for texture and doneness. The beans
cooked at a pH of 3 (the most acidic) remained crunchy and tough-skinned despite
being allowed to cook 30 minutes longer than the other three batches. The beans
cooked at pHs of 5, 7, and 9 showed few differences, although the 9 pH batch finished a
few minutes ahead of the 7 pH batch and about 20 minutes ahead of the 5 pH batch.
Acidity, then, must be relatively high to have any significant impact on beans. So in real
world terms, season with discretion and don’t add a whole bottle of vinegar or wine to
your beans until they are tender."