Others suggest using certain rocks DEPENDING on your water parameters. Have soft water and want to make it harder? Consider a carbonate rock. Crushed coral and limestone are used by some to raise KH and GH, others staunchly recommend against it.
Crushed Coral is mainly calcium carbonate probably with a small amount of magnesium carbonate with a small amount of other minerals. Ca MG carbonates are unique in that they dissolve in acid iwater PH less than 7. But they do not dissolve in water with a PH above 7.
Rather than using rocks to control KH and PH many use sodium bicarbonate or potassium bicarbonate. These do not have PH sensitive solubility and can push ph to well above 8. So mainly they are used to add a bi of KH to water.
So with pure water carbonates will push the PH up to about 7 but not much higher. if the water is acidic due to excess sulfates or chlorides the Ca Mg reacts with the sulfates and chlorides to form PH neutral Ca Mg salts and any excess carbonates left in the water will push the PH back up to about 7. Depending on how much sulfate and chlorides are in your water the GH will increase until the acids are neutralized. KH will probably stabilize at about 1 degree without CO2 injection.
For pure water with CO2 injection the CO2 reacts with water to form carbonic acid. Carbonic acid will cause Ca Mg carbonates to dissolve but it doesn't bond with the Ca and Mg. Depending on how much CO2 is dissolved in the water this will increase GH and KH. Sometime the GH and KH increase is substantial.
In the 80's, there was a trend to put crushed coral in your filter to keep pH stable. I followed this trend. But I quickly learned that it takes such a minute amount or else you will need a high range pH test kit to get a reading.
Note in the information i gave above are mainly with pure fetilzied water with or without CO2. Other minerals and elements may cause secondary unpredictable reactions that will push the PH up above 7. Sea water for example stabilizes at a PH of about 8. These secondary reactions are essentially unpredictable for most tanks.
So if you want to use Ca Mg carbonates control PH you don't need much to last for the entire year and it wouldproably work best in tanks with the minimum amount of CO2 necessarily to get good plant growth. But you have to try it to see if it would work acceptably well in your tank due to the unpredictable secondary reactions in the water. You might also have to adjust your CO2 system too prevent excessive GH increases.
Also note plants need calcium and magnesium and almost always the amount in fertilizer by itself is not enough for plants. Also many rock with calcium and magnesium may be mostly calcium with possibly insufficient magnesium. Plants like about 3 times more calcium then magnesium. Also some carbonate rocks may contain unwanted potentially toxic elements in them that may make them unusable.
Prior to putting unknown rocks in your tank It is a good idea to test. Take a bucket of water and add vinegar to it to get a PH of 5 to 6. Then measure the GH, KH, TDS. Then place the rocks you want to test in this water and let it site for a couple of days. Later then get the water again. If the GH, KH, and TDS levels didn't change the rocks are safe to use. if the GH, KH, or TDS increase you either don't use them or make judgment decision on if the rocks ar OK or not.
The GH tests mainly measures total ca Mg levels. The KH tests measures carbonate levels which are typically from Ca Mg carbonate dissolved in the water (which also detectable by the GH test) or other minrerals that will not affect GH. Note the KH test will not detect CO2 dissolved in the water. TDS is Total dissolved solids. TDS measure the total amount of dissolved minerals in the water.
I want to use tumbled labradorite pieces as an accent in a future tank I'm planning. My water is about 6.8 pH and the GH and KH are quite low. Labradorite is a variety of feldspar. Here is the chemical formula: (Na,Ca)Al₁₋₂Si₃₋₂ O₈ -- It's important to note that labradorite is more on the Ca side than the Na side. As I understand it, Silica and Oxygen will have next to no affect on the water (besides maybe algae, but I'm not worried about that)
Laabradorite is probably safe The aluminum silicon matrix is most likely inert in fresh water aquarium. But I don't know of anyone ever using it so it should be tested. The Na and Ca are not harmful in any way to the aquarium and likely will not dissolve out of the inert rock. Silicates can cause diatoms if the Silicates are water soluble. Most are not water soluble. Notes silicates and sodium will only show up in the TDS test.
I am also considering fluorite (same deal, tumbled so it won't degrade as fast).
Based on wikipedia it is slightly soluble in water and is a calcium fluoride cristal. It will likely affect GH of the water and too much fluoride int the water can be harmful to animals feel free to test but I don't think it is going to work in an aquarium. About the only way I tkink that you could use this stone is to coat it completely is transparent acrylic. I don't know how to do that.
Good information on aquarium compatibility for geologist identified rock and aquarium compatibility is hard to find so please post your findings. with picots of what your tumbled rocks look like. Others would probably find it interesting.
As to good books on water chemistry I don't know of any. Most of my knowledge or chemistry is from a strong interest in chesty in high school and what I have learned on my own through google searches and wikipedia.