Typed in all caps as it was easiest to differentiate between your comments/questions and my responses point by point. I guess I could use italics, unless that would be considered screaming?
Here's some copy/pastes which may be of interest, along with their respective links:
Peat moss will soften your pond water by binding the calcium and magnesium ions while simultaneously releasing tannic and gallic acids into the water. These acids then attack the bicarbonates in the water, reducing the water's carbonate hardness and pH
Using Peat Moss to Lower Water Hardness and pH Levels in Ponds
Peat moss not only lowers the pH but it also absorbs minerals. So you can start with normal tap water. You can either set up a large aquarium filter packed with peat moss or soak peat moss in a barrel of water. As the peat moss contacts the water, it removes some of the salts making the water softer and adds organic acids that lower the pH. If the initial amount of peat moss does not get the water down to the pH you want, change out the old for a new batch of peat. Peat moss produces water that the fish will do well in.
Perhaps the lowest cost way is to place a partial bale of peat in a barrel of water (rain water or normal tap water) and wait... One note must be made about peat moss. Peat mosses are not all equal. Depending on where (and how?) it is harvested, it can have very different abilities to remove ions from water and lower the pH.
ALF Tips on Keeping Fish - Controlling pH
Typical home water softeners soften water using a technique known as ``ion exchange''. That is, they remove calcium and magnesium ions by replacing them with sodium ions. Although this does technically make water softer, most fish won't notice the difference. That is, fish that prefer soft water don't like sodium either, and for them such water softeners don't help at all. Thus, home water softeners are not an appropriate way to soften water for aquarium use.
Fish stores also market ``water softening pillows''. They use the same ion-exchange principle. One ``recharges'' the pillow by soaking it in a salt water solution, then places it in the tank where the sodium ions are released into the water and replaced by calcium and magnesium ions. After a few hours or days, the pillow (along with the calcium and magnesium) are removed, and the pillow recharged. The pillows sold in stores are too small to work well in practice, and shouldn't be used for the same reason cited above.
Peat moss softens water and reduces its hardness (GH). The most effective way to soften water via peat is to aerate water for 1-2 weeks in a bucket containing peat moss. For example, get a (plastic) bucket of the appropriate size. Then, get a large quantity of peat (a gallon or more), boil it (so that it sinks), stuff it in a pillow case, and place it in the water bucket. Use an air pump to aerate it. In 1-2 weeks, the water will be softer and more acidic. Use this aged water when making partial water changes on your tank.
Peat can be bought at pet shops, but it is expensive. It is much more cost-effective to buy it in bulk at a local gardening shop. Read labels carefully! You don't want to use peat containing fertilizers or other additives.
Although some folks place peat in the filters of their tanks, the technique has a number of drawbacks. First, peat clogs easily, so adding peat isn't always effective. Second, peat can be messy and may cloud the water in your tank. Third, the exact quantity of peat needed to effectively soften your water is difficult to estimate. Using the wrong amount results in the wrong water chemistry. Finally, when doing water changes, your tank's chemistry changes when new water is added (it has the wrong properties). Over the next few days, the chemistry changes as the peat takes effect. Using aged water helps ensure that the chemistry of your tank doesn't fluctuate while doing water changes.
Beginner FAQ: Water Chemistry
For the record, "The most effective way to soften water via peat" noted above is not necessarily the most efficient method. The most efficient method IMO/IME is to wrap peat in netting and add it straight to the tank with the fish. If you "Use this aged water when making partial water changes on your tank" as is suggested above but don't have unsaturated peat in the tank that is receiving the water changes you are going to experience a rapid increase in pH and will have to make water changes literally every 24-48hrs to maintain a pH level <5.0
By keeping fresh peat, i.e. peat which has not yet sunk to the bottom of the tank, in situ
we "buffer" the water against fluctuations.