How to Hear One Player's Voice in a CS2 Demo
Listen to specific players in a CS2 demo. Step-by-step tv_listen_voice_indices setup, how the slot bitmask number works, and how to isolate one team.
You want to hear what one player called in a demo - your own comms after a FACEIT match, or how a specific in-game leader runs mid-round - without twenty voices talking over each other. Here is the exact, no-guesswork way to do it with tv_listen_voice_indices.
Quick answer: Set
tv_listen_voice_indicesandtv_listen_voice_indices_hto the bit value of the player's spectator slot (slot 1 = 1, slot 2 = 2, slot 3 = 4, slot 4 = 8…), then play the demo. To skip the maths, upload the demo to the CS2 Voice Comms Calculator , tick the player, and copy the commands.
Step 1 - Get a demo that contains voice
Voice only exists in FACEIT, ESEA and other server (SourceTV) demos. Valve matchmaking and Premier demos record no voice, so there is nothing to play back. FACEIT demos download as .dem.zst files and work directly.
Step 2 - Find the player's spectator slot
Slots are not labelled with names by default. Step through them in the console:
spec_player 1
spec_player 2
spec_player 3
and note which slot shows the player you care about. (Uploading the demo to the calculator reads every slot at once and labels them with player names and team, so you can skip this loop.)
Step 3 - Build the bitmask number
Each slot has a bit value, and you add up the values of the slots you want:
| Slot | Bit value |
|---|---|
| 1 | 1 |
| 2 | 2 |
| 3 | 4 |
| 4 | 8 |
| 5 | 16 |
| 6 | 32 |
For a single player, the number is just their slot's value - the player in slot 3 is 4. For several players, add the values: slots 1, 3 and 4 give 1 + 4 + 8 = 13. If you would rather convert a binary slot pattern by hand, our number base converter turns binary into the decimal CS2 expects.
Step 4 - Paste both commands
Open the console during the demo and set both convars to your number:
tv_listen_voice_indices 4
tv_listen_voice_indices_h 4
Use 0 on both to reset (mute everyone) or -1 to hear everyone again.
Step 5 - Play the demo
You will now hear only the player(s) you selected. Remember these commands reset when you close CS2, so you will re-enter them next session.
Hearing one whole team
To isolate a side, add up that team's five slots and use the total. The voice comms calculator does this in one click with its All T and All CT buttons - useful for highlight clips or studying a single team's mid-round calling without crosstalk.
The fastest version of all this
Manually running spec_player and adding bit values works, but it is fiddly and the slots can move between reloads. Uploading the demo once to the CS2 Voice Comms Calculator reads the real slot list, labels each player, and hands you the exact tv_listen_voice_indices commands to copy - no maths, no re-checking after a reload.
Tools mentioned in this article
- CS2 Voice Comms Calculator - Hear specific players in a CS2 or FACEIT demo - upload it to auto-fill players and get the tv_listen_voice_indices commands.
- Number Base Converter - Convert numbers between binary, octal, decimal and hexadecimal.
- SteamID Converter - Convert between SteamID64, STEAM_0:Y:Z, SteamID3 [U:1:W], account ID and profile URL.