Bridge Sendspin audio to Bluetooth LE Audio Auracast using Bumble.
Project description
sendspin_auracast
Receive Sendspin PCM audio and broadcast it over Bluetooth LE Audio (Auracast) using Bumble.
Installation
pip install sendspin_auracast
For local development:
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
Usage
Broadcast audio from a Sendspin WebSocket server:
sendspin-auracast ws://localhost:8927/sendspin
The client advertises itself as a Sendspin player, receives PCM audio chunks, encodes them as LC3, and broadcasts them as an Auracast stream.
Use a custom Bumble transport or broadcast name:
sendspin-auracast ws://localhost:8927/sendspin \
--transport serial:/dev/ttyACM0,1000000 \
--name "Sendspin Auracast"
Broadcast with encryption:
sendspin-auracast ws://localhost:8927/sendspin --code "my-password"
Add manufacturer-specific BLE advertising data:
sendspin-auracast ws://localhost:8927/sendspin --manufacturer-data 0x0059:010203
Tune startup latency:
sendspin-auracast ws://localhost:8927/sendspin \
--sendspin-buffer-ms 50 \
--presentation-delay-us 20000 \
--max-transport-latency-ms 40
The bridge defaults to a 100 ms advertised Sendspin player buffer. Smaller values can reduce the delay after pressing play, while larger values may be more reliable on busy hosts or noisy Bluetooth links.
For debugging, print received chunks instead of broadcasting:
sendspin-auracast ws://localhost:8927/sendspin --print
To write raw audio bytes to stdout instead:
sendspin-auracast ws://localhost:8927/sendspin --raw
Development
Run tests:
pytest
Run linting:
ruff check .
Build the package:
python -m build
Publish to PyPI:
twine upload dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sendspin_auracast-0.1.0.tar.gz.
File metadata
- Download URL: sendspin_auracast-0.1.0.tar.gz
- Upload date:
- Size: 11.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
469d9cefa17700af1cc89fc94800d683eb027a6b40eb5da84fcadc8419778264
|
|
| MD5 |
875dce2ad909b2808838bd5e432c8684
|
|
| BLAKE2b-256 |
ebbdd3feb11fff21eef17a4d5161cb300dbbe3e7f29692b0768b866cf4c7081a
|
Provenance
The following attestation bundles were made for sendspin_auracast-0.1.0.tar.gz:
Publisher:
publish.yml on Yagoor/sendspin_auracast
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sendspin_auracast-0.1.0.tar.gz -
Subject digest:
469d9cefa17700af1cc89fc94800d683eb027a6b40eb5da84fcadc8419778264 - Sigstore transparency entry: 1550004627
- Sigstore integration time:
-
Permalink:
Yagoor/sendspin_auracast@90b47c2c960479441c26873fab9809ca4fe938ec -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Yagoor
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@90b47c2c960479441c26873fab9809ca4fe938ec -
Trigger Event:
push
-
Statement type:
File details
Details for the file sendspin_auracast-0.1.0-py3-none-any.whl.
File metadata
- Download URL: sendspin_auracast-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b266a5aed26e5eab8b5c44ec6ae697b56c991834bd2b92074256e4a8ee412c9
|
|
| MD5 |
994c1f688c3de36bf057adf9ad51edf5
|
|
| BLAKE2b-256 |
b69c450cdfd045f0e01d55f7cb226f23e75818f8e6a05b8d12f50be26f73e4f4
|
Provenance
The following attestation bundles were made for sendspin_auracast-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on Yagoor/sendspin_auracast
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sendspin_auracast-0.1.0-py3-none-any.whl -
Subject digest:
3b266a5aed26e5eab8b5c44ec6ae697b56c991834bd2b92074256e4a8ee412c9 - Sigstore transparency entry: 1550004591
- Sigstore integration time:
-
Permalink:
Yagoor/sendspin_auracast@90b47c2c960479441c26873fab9809ca4fe938ec -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Yagoor
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@90b47c2c960479441c26873fab9809ca4fe938ec -
Trigger Event:
release
-
Statement type: