A desktop application that allows you to record audio from specific applications on Linux. Built with Deno, Svelte, and WebView.
- List running applications with audio output
- Record audio from specific applications
- Record audio from different outputs of a specific applications
- Save recordings automatically to your Music directory
- Linux operating system
- PipeWire audio system (with
pipewire-pulsefor compatibility) - Deno runtime installed
pipewire-utils(forpw-dump,pw-metadata,pw-record,pw-play)pulseaudio-utils(forpactl)ffmpeg(for recording)
- Clone the repository:
git clone <repository-url>
cd record- Build the application:
deno task compileThis will create an executable named record in the project root directory.
- Run the application:
./record├── distro/ # Packaging and distribution files (Flatpak, icons, manifests)
├── src/
│ ├── backend/ # Core audio and backend logic
│ │ ├── lib.ts, lib.test.ts
│ │ └── server.ts
│ ├── dist/ # Built frontend assets and server
│ │ ├── build/
│ │ └── front-server.ts
│ ├── frontend/ # Svelte frontend app
│ └── webview/ # WebView (main app entry)
- The application creates virtual audio sinks for each application being recorded
- Audio is redirected from the original application to its dedicated virtual sink
- The virtual sink's audio is recorded to the selected audio format (Opus, MP3, FLAC, WAV, etc.)
- Recordings are saved in
~/Music/RecordApps/<app-name>/with timestamp-based filenames
MIT
