There is a static base respawn time, which is based on a static death time of 2 seconds + the time for the freeze frame (0.4 travel time + 4.0 freeze time).
On top of this base, the non-scaled respawn wave time is added, which is 10 seconds by default, and can be changed per team by an input which happens upon capturing a control point, which adds or subtracts from a team's base respawn wave time.
Then, the game checks the time for the next respawn wave, and compares it to the time for the base respawn time. If the base respawn time occurs after the next respawn wave, the scaled respawn wave time is added on top of the next respawn wave to get the wave after the next, and so on until a respawn wave is found that occurs after the base respawn time.
The scaled respawn wave time is the non-scaled respawn wave time, except with the following extra logic: if the respawn wave time is above 5 seconds, then scale it by a number between 0.25 and 1.0, linearly scaled by the number of players (1 to 8). Then this value is capped to a maximum of 5.
This logic happens during any PvP game, tournament mode or not, with the exception of robot destruction, which has its own logic for customizing the respawn time on top of this. There are a few exceptions outside of normal PvP play, like if you are a Scout in MvM or in between rounds during Competitive Mode, you respawn with your static base respawn time, and in pre-game for tournament mode, there are no respawn times.