Skip to content

Latest commit

 

History

History
59 lines (38 loc) · 1.66 KB

README.md

File metadata and controls

59 lines (38 loc) · 1.66 KB

winscap

Windows raw sound output capture tool.

Usage

You tell winscap how many channels and bits to capture at what sampling rate:

winscap <channels> <sample rate> <bits per sample>

winscap will output a raw PCM stream (signed little-endian) to stdout.

Note that winscap uses your audio device in shared mode, so your capture settings must match the Windows output device. By default, this is 16-bit stereo at 48000 Hz. If your capture settings do not match, winscap will fail to start.

Binaries

The latest stable binaries are available on GitHub releases (winscap.exe).

Latest bleeding edge binaries are available as artifacts on GitHub Actions.

Building

You need a new enough Visual C++ toolchain. To build, run

nmake

Background

I created this tool as a lightweight approach to run Cava on Windows Subsystem for Linux (WSL) while using sound output from Windows.

To use with Cava, configure Cava to read from a named pipe inside WSL (we'll use /tmp/cava.fifo in this example) with the following configuration:

[input]
method = fifo
source = /tmp/cava.fifo
sample_rate = 48000

Replace 48000 with whatever sampling rate you use with winscap.

Then, run winscap as follows:

$ mkfifo /tmp/cava.fifo
$ /mnt/c/path/to/winscap.exe 2 48000 16 > /tmp/cava.fifo

Again, replace the arguments as appropriate.