If the cancellation idea worked if several people sang together, to avoid violating conservation of energy, power would have to be forced back into the singers, you would find it progressively harder to sing, the more people that were singing!

Which is exactly like the speaker being unable to move because it's being pushed both ways equally strongly, but it needn't be total silencing in either case, so I'm wondering if it actually does happen to a substantial degree.

I've managed to simplify the problem further by avoiding working with complex waves and simply working with one point on a wave - any one point will do as the probabilities for that point will be the same as for any other point. This means there's no need to write a program to do anything hugely complex as it's now relatively easy, or at least it would be if I knew the right way to apply the maths.

If we imagine that the wave can wander between -1 and 1 for a single singer (or a musical note), then the probability that a point on the wave will have a particular value will vary between -1 and 1 with it being more likely to be at one of the extremes than in the middle because the wave hangs around at around those values for longest. Let's just say for now though (wrongly) that the probability is going to be equal for any value between -1 and 1.

With two singers, we need to extend the range to between -2 and 2, but the probabilities are now different as they're built out of two random numbers which are added together, so this makes the point more likely to be in the middle of the range than at the extreme ends. With a hundred singers, we have a hundred random numbers to add together (each between -1 and 1), and this further weights things towards the middle and well away from the extremes, so the wave will only very rarely get close to -100 or 100, if ever. With a million, billion or trillion, it gets ever closer to the middle (in relative terms), and I was imagining it ending up becoming so restrained by these probabilities that most of the noise would be cancelled out.

So, what I've now done now is apply some numbers to it as follows. It's easiest to replace the sine wave style of waves at this point with square waves to eliminate the time that the wave spends at in-between values, so for one "singer" we now have the wave spending half the time at -1 and the other half of the time at 1, and either of these values represents a volume of 1. With two "singers" we can now get combined values of -2, 0 or 2: for a quarter of the time it will be -2, for another quarter of the time it will be 2, and for half the time it will be 0. The volume will now be the average of two lots of 2 and two lots of 0, so that's 1 again, meaning no change in volume.

The same can be done with three "singers": there will be one -3, three lots of -1, three lots of 1, and one 3, so that's 12/8 and an average volume of 1.5.

And for four "singers": there will be one -4, four lots of -2, six lots of 0, four lots of 2 and one 4, so that's 24/16 for an average volume of 1.5.

With five "singers" there will be one -5, 5 lots of -3, 7 lots of -1, 7 lots of 1, 5 lots of 3 and one 5, so that's 54/26 for an average volume of just over 2.

Now, these numbers look strange (perhaps because there's some problem with using square waves in the first place, although something very close to square waves is possible), but maybe I'm adding the waves together wrongly. Adding a -1 to 0 is certainly correct, but adding a -1 to a -1 maybe shouldn't add up to -2 because the speaker could resist the travel more strongly when the second -1 force is applied to it on top of the original -1, although when you dangle weights under a spring, the spring will move the just about same distance when a second weight is added as it did for the first weight. Anyway, either way, I don't know how to take this any further at the moment, but I'll continue to think about it when time allows.