Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add screenshot
Browse files Browse the repository at this point in the history
gavv committed May 9, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1 parent 1b600b3 commit e73df77
Showing 2 changed files with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -6,6 +6,7 @@

- [What is this?](#what-is-this)
- [How it works](#how-it-works)
- [Design](#design)
- [Features](#features)
- [Donations](#donations)
- [Installation](#installation)
@@ -45,7 +46,7 @@

## What is this?

This repo provides macOS **Virtual Audio Device** (VAD) for **streaming audio** to or from remote devices. It is part of [Roc Toolkit](https://github.com/roc-streaming/roc-toolkit) project and is interoperable with both Roc and third-party software.
This repo provides macOS **Virtual Audio Device** (VAD) for real-time **audio streaming** to or from remote devices. It is part of [Roc Toolkit](https://github.com/roc-streaming/roc-toolkit) project and is interoperable with both Roc and third-party software.

After installing Roc VAD, you can:

@@ -55,11 +56,15 @@ After installing Roc VAD, you can:

## How it works

When you configure an app (e.g. iTunes) to use virtual device as a speaker, all sound that the app plays to the device is streamed to a remote receiver. Remote receiver could be Roc PipeWire source, or an app using Roc Toolkit library, or even a generic RTP receiver.
When you configure your OS or individual app (e.g. VLC) to use Roc VAD output device as a speaker, all sound played to the device is streamed to a remote receiver. Remote receiver could be [PipeWire module](https://docs.pipewire.org/page_module_roc_source.html) or [PulseAudio module](https://github.com/roc-streaming/roc-pulse) running on Linux, [Roc Droid](https://github.com/roc-streaming/roc-droid) running on Android, as well as any C/Go/Java application using Roc Toolkit.

And vice versa, when you configure an app (e.g. Zoom) to use virtual device as a microphone, the sound is streamed from a remote sender to the virtual device, and the app reads the received stream.
Similarly, when you configure your OS or app (e.g. Skype) to use Roc VAD input device as a microphone, the sound streamed from remote sender is passed to the local apps connected to input device.

*TODO: screenshot*
This screenshot shows macOS Sound Preferences with two virtual output devices named "Raspberry Pi" and "Samsung":

<img src="docs/screenshot.png" width="450px"/>

## Design

Internally, Roc VAD consists of two components:

@@ -73,6 +78,8 @@ Internally, Roc VAD consists of two components:

A command-line tool that allows to control Roc VAD driver from terminal via its gRPC interface.

For more details, see [HACKING.md](HACKING.md).

## Features

Key features of Roc Toolkit streaming engine, used by Roc VAD:
Binary file added docs/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit e73df77

Please sign in to comment.