Victor Gaydov · @gavv
39 followers · 40 posts · Server fosstodon.org

Two C API improvements recently landed develop branch of

- You can remove slots on the fly. "Slots" represent connected peers, so this is useful when peers enter and leave session dynamically.

- There is a new packet encoder/decoder API, similar to sender/receiver, but networkless. You push raw frames and get encoded packets, or vice versa, and you should deliver packets by yourself. This allows using roc with third-party transports like libjuice and libdatachannel.

#roctoolkit

Last updated 2 years ago

Victor Gaydov · @gavv
38 followers · 38 posts · Server fosstodon.org

Recently spent some time optimizing latency over Ethernet.

So far, achieved 7ms for transport + 12ms for two USB sound cards.

This is the photo of my test bench for measurements.

Legend: R1, R2 - ; S0, S1, S2 - sound cards; L1, L3 - jack cables; L2 - ethernet cable.

Roc runs on R1 and R2 and streams sound from S1 to S2.

On PC, I run that writes sound to S0 output, reads it back from S0 input, and measures latency.

#roctoolkit #raspberrypi #signalestimator #linuxaudio #audioprogramming

Last updated 2 years ago

Victor Gaydov · @gavv
36 followers · 35 posts · Server fosstodon.org

I had a lot of fun last weekend, adding surround sound support to , with conversion between surround layouts (downmixing and upmixing).

(E.g. if network layout is surround 7.1, but sound card is 5.1, it's automatically downmixed)

Learned lots of new things. First considered simpler remixing algorithm from pulseaudio[1], but ended up using downmixing tables from dolby[2][3].

Also added support for large multitrack channel sets up to 1024 channels.

#roctoolkit #linuxaudio #audioprogramming

Last updated 2 years ago

Victor Gaydov · @gavv
16 followers · 21 posts · Server fosstodon.org

Received new for test stand: OpenEmbed SOM9331 with MIPS32 and OpenWRT.

I know that people are running roc on mips, but never tried it by myself. Now I can include it to release regression testing 🤖

phoronix.com/news/Linux-5.14-M

#sbc #roctoolkit #mips #openembed #openwrt #linuxaudio

Last updated 2 years ago

Victor Gaydov · @gavv
11 followers · 12 posts · Server fosstodon.org

We're looking for contributors for recently released bindings for !

github.com/roc-streaming/roc-g

Roc is a real-time audio streaming library. roc-streaming.org/

On github, you will find issues for adding tests, documentation, and minor features. We're always glad to meet new people in the project 🙂

#golang #roctoolkit #opensource #contribute #goodfirstissue #audioprogramming #networkprogramming

Last updated 2 years ago

Victor Gaydov · @gavv
10 followers · 11 posts · Server fosstodon.org

Roc tutorial update: gavv.net/articles/roc-tutorial

Added instructions on how to use PipeWire with Roc if you can't use PPA.

#roctoolkit #pipewire #linuxaudio

Last updated 2 years ago

Victor Gaydov · @gavv
6 followers · 7 posts · Server fosstodon.org

This little cable hell is my test stand for regression testing

#roctoolkit #linuxaudio #sbc #raspberrypi #orangepi

Last updated 2 years ago

Victor Gaydov · @gavv
5 followers · 6 posts · Server fosstodon.org
Victor Gaydov · @gavv
5 followers · 5 posts · Server fosstodon.org
Victor Gaydov · @gavv
4 followers · 4 posts · Server fosstodon.org

First release of Go bindings for : github.com/roc-streaming/roc-g

#roctoolkit

Last updated 3 years ago

Victor Gaydov · @gavv
4 followers · 3 posts · Server fosstodon.org

#roctoolkit

Last updated 3 years ago

Victor Gaydov · @gavv
4 followers · 2 posts · Server fosstodon.org