@akiver/csgo-voice-extractor 1.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -49
- package/dist/bin/darwin-x64/csgove +0 -0
- package/dist/bin/darwin-x64/libopus.0.dylib +0 -0
- package/dist/bin/linux-x64/csgove +0 -0
- package/dist/bin/linux-x64/libopus.so.0 +0 -0
- package/dist/bin/win32-x64/csgove.exe +0 -0
- package/dist/bin/win32-x64/opus.dll +0 -0
- package/package.json +3 -2
- /package/dist/bin/linux-x64/{libtier0.so → libtier0_client.so} +0 -0
- /package/dist/bin/linux-x64/{vaudio_celt.so → vaudio_celt_client.so} +0 -0
package/README.md
CHANGED
|
@@ -1,44 +1,13 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Counter-Strike voice extractor
|
|
2
2
|
|
|
3
|
-
CLI to export players' voices from CSGO demos into WAV files.
|
|
3
|
+
CLI to export players' voices from CSGO/CS2 demos into WAV files.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
> [!WARNING]
|
|
6
|
+
> **Valve Matchmaking demos do not contain voice audio data, hence there is nothing to extract from MM demos.**
|
|
6
7
|
|
|
7
8
|
## Installation
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
1. Download the last release from [GitHub](https://github.com/akiver/csgo-voice-extractor/releases)
|
|
12
|
-
2. Copy/paste the following files from the `CSGO` installation folder next to the executable:
|
|
13
|
-
|
|
14
|
-
- `tier0.dll`
|
|
15
|
-
- `vaudio_celt.dll`
|
|
16
|
-
|
|
17
|
-
> **Note**
|
|
18
|
-
> By default, these files are located in `C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\bin`
|
|
19
|
-
|
|
20
|
-
### macOS
|
|
21
|
-
|
|
22
|
-
1. Download the last release from [GitHub](https://github.com/akiver/csgo-voice-extractor/releases)
|
|
23
|
-
2. Copy/paste the following files from the `CSGO` installation folder next to the executable:
|
|
24
|
-
|
|
25
|
-
- `libtier0.dylib`
|
|
26
|
-
- `libvstdlib.dylib`
|
|
27
|
-
- `vaudio_celt.dylib`
|
|
28
|
-
|
|
29
|
-
> **Note**
|
|
30
|
-
> By default, these files are located in `~/Applications/Steam/steamapps/common/Counter-Strike Global Offensive/bin/osx64`
|
|
31
|
-
|
|
32
|
-
### Linux
|
|
33
|
-
|
|
34
|
-
1. Download the last release from [GitHub](https://github.com/akiver/csgo-voice-extractor/releases)
|
|
35
|
-
2. Copy/paste the following files from the `CSGO` installation folder next to the executable:
|
|
36
|
-
|
|
37
|
-
- `libtier0_client.so`
|
|
38
|
-
- `vaudio_celt_client.so`
|
|
39
|
-
|
|
40
|
-
> **Note**
|
|
41
|
-
> By default, these files are located in `~/.steam/steam/steamapps/common/Counter-Strike Global Offensive/bin`
|
|
10
|
+
Download the last release for your OS from [GitHub](https://github.com/akiver/csgo-voice-extractor/releases/latest).
|
|
42
11
|
|
|
43
12
|
## Usage
|
|
44
13
|
|
|
@@ -49,7 +18,7 @@ csgove.exe demoPaths... [-output]
|
|
|
49
18
|
```
|
|
50
19
|
|
|
51
20
|
By default `.dll` files are expected to be in the same directory as the executable.
|
|
52
|
-
You can change it by setting the `LD_LIBRARY_PATH` environment variable
|
|
21
|
+
You can change it by setting the `LD_LIBRARY_PATH` environment variable. Example:
|
|
53
22
|
|
|
54
23
|
```bash
|
|
55
24
|
LD_LIBRARY_PATH="C:\Users\username\Desktop" csgove.exe
|
|
@@ -57,7 +26,7 @@ LD_LIBRARY_PATH="C:\Users\username\Desktop" csgove.exe
|
|
|
57
26
|
|
|
58
27
|
### macOS
|
|
59
28
|
|
|
60
|
-
>
|
|
29
|
+
> [!CAUTION]
|
|
61
30
|
> The environment variable `DYLD_LIBRARY_PATH` must be set before invoking the program and point to the location of the `.dylib` files!
|
|
62
31
|
|
|
63
32
|
```bash
|
|
@@ -66,7 +35,7 @@ DYLD_LIBRARY_PATH=. csgove demoPaths... [-output]
|
|
|
66
35
|
|
|
67
36
|
### Linux
|
|
68
37
|
|
|
69
|
-
>
|
|
38
|
+
> [!CAUTION]
|
|
70
39
|
> The environment variable `LD_LIBRARY_PATH` must be set before invoking the program and point to the location of the `.so` files!
|
|
71
40
|
|
|
72
41
|
```bash
|
|
@@ -109,6 +78,7 @@ csgove -output "C:\Users\username\Desktop\output" myDemo.dem
|
|
|
109
78
|
|
|
110
79
|
- [Go](https://go.dev/)
|
|
111
80
|
- [GCC](https://gcc.gnu.org/)
|
|
81
|
+
- [Chocolatey](https://chocolatey.org/) (Windows only)
|
|
112
82
|
|
|
113
83
|
_Debugging is easier on macOS/Linux **64-bit**, see warnings below._
|
|
114
84
|
|
|
@@ -116,27 +86,49 @@ _Debugging is easier on macOS/Linux **64-bit**, see warnings below._
|
|
|
116
86
|
|
|
117
87
|
_Because the CSGO audio library is a 32-bit DLL, you need a 32-bit `GCC` and set the Go env variable `GOARCH=386` to build the program._
|
|
118
88
|
|
|
89
|
+
> [!IMPORTANT]
|
|
90
|
+
> Use a unix like shell such as [Git Bash](https://git-scm.com/), it will not work with `cmd.exe`!
|
|
91
|
+
|
|
92
|
+
> [!WARNING]
|
|
93
|
+
> The `$GCC_PATH` variable in the following steps is the path where `gcc.exe` is located.
|
|
94
|
+
> By default, it's `C:\TDM-GCC-64\bin` when using [TDM-GCC](https://jmeubank.github.io/tdm-gcc/) (highly recommended).
|
|
95
|
+
|
|
119
96
|
1. Install `GCC` for Windows, [TDM-GCC](https://jmeubank.github.io/tdm-gcc/) is recommended because it handles both 32-bit and 64-bit when running `go build`.
|
|
120
97
|
If you use [MSYS2](https://www.msys2.org/), it's important to install the 32-bit version (`pacman -S mingw-w64-i686-gcc`).
|
|
121
|
-
2.
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
98
|
+
2. Install `pkg-config` using [chocolatey](https://chocolatey.org/) by running `choco install pkgconfiglite`.
|
|
99
|
+
It's **highly recommended** to use `choco` otherwise you would have to build `pkg-config` and copy/paste the `pkg-config.exe` binary in your `$GCC_PATH`.
|
|
100
|
+
3. Download the source code of [Opus](https://opus-codec.org/downloads/)
|
|
101
|
+
4. Extract the archive, rename the folder to `opus` and place it in the project's root folder
|
|
102
|
+
5. Open the `opus/win32/VS2015/opus.sln` file with Visual Studio (upgrade the project if asked)
|
|
103
|
+
6. Build the `Release` configuration for `Win32` (**not `x64`** - it's important to build the 32-bit version!)
|
|
104
|
+
7. Copy/paste the `opus.dll` file in `$GCC_PATH` and `dist/bin/win32-x64`
|
|
105
|
+
8. Copy/paste the C header files located inside the `include` folder file in `$GCC_PATH\include\opus` (create the folders if needed)
|
|
106
|
+
9. Copy/paste the `opus.pc.example` to `opus.pc` file and edit the `prefix` variable to match your `GCC` installation path **if necessary**.
|
|
107
|
+
10. `PKG_CONFIG_PATH=$(realpath .) LD_LIBRARY_PATH=dist/bin/win32-x64 CGO_ENABLED=1 GOARCH=386 go run -tags nolibopusfile .`
|
|
108
|
+
|
|
109
|
+
> [!WARNING]
|
|
125
110
|
> Because the Go debugger doesn't support Windows 32-bit and the CSGO lib is a 32-bit DLL, you will not be able to run the Go debugger.
|
|
126
111
|
> If you want to be able to run the debugger for the **Go part only**, you could comment on lines that involve `C/CGO` calls.
|
|
127
112
|
|
|
128
113
|
### macOS
|
|
129
114
|
|
|
130
|
-
|
|
131
|
-
|
|
115
|
+
> [!IMPORTANT]
|
|
116
|
+
> On macOS `ARM64`, the `x64` version of Homebrew must be installed!
|
|
117
|
+
> You can install it by adding `arch -x86_64` before the official command to install Homebrew (`arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`)
|
|
118
|
+
|
|
119
|
+
1. Install [Homebrew](https://brew.sh) **x64 version**
|
|
120
|
+
2. `arch -x86_64 brew install opus`
|
|
121
|
+
3. `cp /usr/local/Cellar/opus/1.4/lib/libopus.0.dylib dist/bin/darwin-x64` (`arch -x86_64 brew info opus` to get the path)
|
|
122
|
+
4. `DYLD_LIBRARY_PATH=dist/bin/darwin-x64 CGO_ENABLED=1 GOARCH=amd64 go run -tags nolibopusfile .`
|
|
132
123
|
|
|
133
|
-
>
|
|
124
|
+
> [!WARNING]
|
|
134
125
|
> On macOS ARM64, the Go debugger breakpoints will not work because the executable must target amd64 but your OS is ARM64.
|
|
135
126
|
|
|
136
127
|
### Linux
|
|
137
128
|
|
|
138
|
-
1.
|
|
139
|
-
2. `
|
|
129
|
+
1. `sudo apt install pkg-config libopus-dev`
|
|
130
|
+
2. `cp /usr/lib/x86_64-linux-gnu/libopus.so.0 dist/bin/linux-x64` (you may need to change the path depending on your distro)
|
|
131
|
+
3. `LD_LIBRARY_PATH=dist/bin/linux-x64 CGO_ENABLED=1 GOARCH=amd64 go run -tags nolibopusfile .`
|
|
140
132
|
|
|
141
133
|
## Building
|
|
142
134
|
|
|
@@ -154,7 +146,8 @@ _Because the CSGO audio library is a 32-bit DLL, you need a 32-bit `GCC` and set
|
|
|
154
146
|
|
|
155
147
|
## Credits
|
|
156
148
|
|
|
157
|
-
Thanks to [@saul](https://github.com/saul) and [@ericek111](https://github.com/ericek111) for their [investigation](https://github.com/saul/demofile/issues/83#issuecomment-1207437098).
|
|
149
|
+
Thanks to [@saul](https://github.com/saul) and [@ericek111](https://github.com/ericek111) for their [CSGO investigation](https://github.com/saul/demofile/issues/83#issuecomment-1207437098).
|
|
150
|
+
Thanks to [@DandrewsDev](https://github.com/DandrewsDev) for his work on [CS2 voice data extraction](https://github.com/DandrewsDev/CS2VoiceData).
|
|
158
151
|
|
|
159
152
|
## License
|
|
160
153
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akiver/csgo-voice-extractor",
|
|
3
|
-
"version": "1.0
|
|
4
|
-
"description": "CLI to export players' voices from CSGO demos into WAV files.",
|
|
3
|
+
"version": "2.1.0",
|
|
4
|
+
"description": "CLI to export players' voices from CSGO/CS2 demos into WAV files.",
|
|
5
5
|
"author": "AkiVer",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"bugs": {
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"keywords": [
|
|
28
28
|
"Counter-Strike",
|
|
29
29
|
"CS",
|
|
30
|
+
"CS2",
|
|
30
31
|
"CSGO",
|
|
31
32
|
"audio"
|
|
32
33
|
]
|
|
File without changes
|
|
File without changes
|