Giter Site home page Giter Site logo

esp32-a2dp-sink's Introduction

ESP32 A2DP sink with extra codecs

Supports aptX, aptX-HD, aptX-LL, LDAC codecs.

Use esp-idf branch with extra A2DP sink codecs https://github.com/cfint/esp-idf

Measuring codec latency

Measure latency with jack_iodelay.

Setup

List jack ports

jack_lsp

Latency measure script

# cat io-delay-test.sh
jack_iodelay &
sleep 1
jack_connect jack_delay:out system:playback_1
jack_connect system:capture_1 jack_delay:in
sleep 5
killall jack_iodelay

Measure latency command

PIPEWIRE_LATENCY=256/48000 ./io-delay-test.sh

Reference: https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Performance#latency

Results

Source: arch linux + libpipewire 0.3.47 + bluez 5.63 Intel 9560 Wifi/Bluetooth
Sink: ESP32 internal DAC

Codec Latency (ms)
SBC 67.056
SBC-XQ 66.452
aptX 72.438
aptX-HD 75.102
aptX-LL 42.820
LDAC 60.657

Pipewire A2DP configuration

Get template bluez-monitor.conf from /etc/pipewire/media-session.d/. Copy it to ~/.config/pipewire/media-session.d/.

Sample rate:

#bluez5.default.rate     = 48000

LDAC quality:

#bluez5.a2dp.ldac.quality = auto

Apply configs by restarting pipewire:

systemctl --user restart pipewire.service

esp32-a2dp-sink's People

Contributors

cfint avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.