How to calculate the charge on silicates?
In this answer, the basic concept of how to understand what figure they are and how much charge they have would be discussed.
As OP has well stated, the basic unit of any silicate is the $\ce{SiO4^4-}$ tetrahedron which has four oxygens that are connected to one silicon atom.  Each unshared oxygen provides -1 charge and each shared oxygen contributes 0.5 oxygens to one tetrahedral unit.
Now, depending on how these units interconnect and how oxygens are shared, we get multiple different structures. I shall discuss three of them here since that should be enough to get the idea across.
Type 1: Chain Silicates

In this type of silicates, as you can see above, the tetrahedron shares one oxygen on either side and so the basic unit here would be the $\ce{SiO3^2-}$ unit, since two oxygens are being shared.
Since two oxygens are shared per tetrahedral unit, the basic unit would have 3 (2 unshared + 0.5 * 2 shared) oxygens and 2- charge.
Type 2: Pyro silicates

Here, the one oxygen in the middle is shared by the two tetrahedral units. This means that there is a total of 6 free oxygen atoms that are only bonded to the silicon with a single bond. Therefore the structure arises as $\ce{Si2O7^6-}$.
Since one oxygen is shared per tetrahedral unit, the basic unit would have 3.5 (3 unshared + 0.5 * 1 shared) oxygens and 3- charge. However since the values need to be integers $\ce{SiO_{3.5}^3-}$ would be written as $\ce{Si2O7^6-}$
Type 3: 3D Silicates
In this case, all the oxygen atoms are shared leading to the formation of $\ce{(SiO2)_n}$ molecules.
Further Reading
https://www.adichemistry.com/inorganic/p-block/group-14/silicates/silicates-1.html