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.
Reviewed by ZeroUtil Editorial Team · Last reviewed
What You Should Know
To hear specific players in a CS2 demo, set tv_listen_voice_indices <number> and tv_listen_voice_indices_h <number> in the console before you play the demo. The number is a bitmask of the spectator slots you want to hear. Upload the demo to this tool to fill the players automatically and copy the exact commands - or tick slots manually. Voice is only recorded in FACEIT and server demos; matchmaking and Premier demos contain no voice data.
Runs 100% in your browser - your data never leaves your device
Paste both commands into the CS2 console, then play the demo - you only hear the ticked players. Use the reset command to clear the filter and hear everyone again.
How to Use the Voice Comms Calculator
- Get a demo that contains voice. FACEIT and other server (SourceTV) demos record voice; Valve matchmaking and Premier demos do not. FACEIT demos download as .dem.zst - you can use them directly.
- Upload the demo (drag and drop works). It is parsed on our server, each spectator slot fills with the right player name and team, and the file is auto-deleted shortly after. Prefer not to upload? Tick the 16 slots manually instead - manual mode runs entirely in your browser.
- Select who to hear - individual players, or All / All T / All CT for a whole side.
- Copy both commands and paste them into the CS2 console before playing the demo.
What the Numbers Mean
The tool builds the 32-bit bitmask that tv_listen_voice_indices expects: bit 0 is spectator slot 1, bit 1 is slot 2, and so on. Ticking slots 1, 3 and 4 produces 1 + 4 + 8 = 13. The companion tv_listen_voice_indices_h covers slots 33-64 used by larger SourceTV lobbies; for a normal 5v5 it can stay equal to the first value, which is what the tool outputs for reliability. Setting both to 0 resets the filter, and -1 means hear everyone.
Typical Uses
- Reviewing your own comms after a FACEIT match to hear what information was actually called and when.
- Isolating one player - tick a single slot to verify a toxic teammate report or to study how a specific in-game leader calls mid-round.
- Listening to one team at a time when casting or making highlight clips, so crosstalk from twenty voices does not drown the round story.
Frequently Asked Questions
How do I hear voice comms in a CS2 demo?
Set tv_listen_voice_indices and tv_listen_voice_indices_h in the console (to the same number) before playing the demo. The number is a bitmask of the spectator slots you want to hear. The easiest way is to upload the demo here - it fills the players automatically and gives you the exact commands to copy.
Why can't I hear voice in my matchmaking or Premier demo?
Because Valve matchmaking and Premier demos do not record player voice at all - there is simply no voice data in the file, so no command can play it back. Voice is recorded in FACEIT, ESEA and other server (SourceTV) demos. If you want to review comms, use a FACEIT demo.
How do I hear only one team, or only the enemy, in a demo?
Upload the demo so each player shows their team, then click "All T" or "All CT" to select just that side (or tick individual players). Copy the commands and you will only hear that team. To isolate one toxic player, tick only their slot.
What is tv_listen_voice_indices?
It is the CS2 console variable that controls which players' voice you hear while watching a demo. Its value is a 32-bit bitmask: bit 0 is spectator slot 1, bit 1 is slot 2, and so on. Set it to -1 to hear everyone, or use this calculator to build the exact number for the players you want.
What is the difference between tv_listen_voice_indices and tv_listen_voice_indices_h?
tv_listen_voice_indices covers spectator slots 1-32 and tv_listen_voice_indices_h covers the high slots 33-64 (used in larger lobbies / SourceTV). For a normal 5v5 you only need the first, but setting both to the same value is harmless and most reliable, so this tool always outputs both.
Why does the player slot change every time I reload the demo?
Spectator slots are assigned from the player entity order in the demo, which can shift between playback sessions. Uploading the demo here reads the actual slot for each player, so you do not have to re-check with spec_player after every reload.
Does this work for FACEIT demos?
Yes - FACEIT demos record voice, so the commands work. FACEIT CS2 demos are .dem.zst files; you can upload one directly here and it is decompressed and parsed for you. Matchmaking and Premier demos contain no voice.
Can it fill in the players automatically?
Yes. Upload your CS2 .dem (or a FACEIT .dem.zst) and the tool reads the demo and fills each slot with the correct player name and team, so you skip the tedious spec_player 1..16 loop entirely. Then tick the players you want and copy the commands.
Why is the command tv_listen_voice_indices and not tv_listen_voices_indices?
The real console command is tv_listen_voice_indices - singular "voice". Some guides write "voices" by mistake, but that command does not exist in CS2 and does nothing.
What happens to my demo when I upload it?
It is sent to our server only to read the player slot list, then deleted automatically within minutes - the same short-lived handling as our video tools. Nothing is stored or shared. Prefer not to upload? The manual entry mode runs entirely in your browser.
Learn more
Related tools
- SteamID Converter
Convert between SteamID64, STEAM_0:Y:Z, SteamID3 [U:1:W], account ID and profile URL.
- CS2 Sensitivity Converter
Convert mouse sensitivity between CS2, Valorant, Apex and more, with eDPI and cm/360.
- CS2 Crosshair Code Decoder
Decode a CSGO-xxxxx crosshair share code into cl_crosshair console commands.
- Number Base Converter
Convert numbers between binary, octal, decimal and hexadecimal.
- Video Trimmer
Cut a section from MP4, WebM or MOV videos. Stream-copy is fast and lossless.
More Gaming Tools
CS2 Crosshair Code Decoder
Decode a CSGO-xxxxx crosshair share code into cl_crosshair console commands.
Open toolCS2 Sensitivity Converter
Convert mouse sensitivity between CS2, Valorant, Apex and more, with eDPI and cm/360.
Open toolSteamID Converter
Convert between SteamID64, STEAM_0:Y:Z, SteamID3 [U:1:W], account ID and profile URL.
Open tool