https://github.com/racslabs/racs
A distributed, persistent audio cache with time-indexed range queries.
https://github.com/racslabs/racs
audio audio-cache audio-retrieval audio-server audio-storage audio-streaming
Last synced: 4 months ago
JSON representation
A distributed, persistent audio cache with time-indexed range queries.
- Host: GitHub
- URL: https://github.com/racslabs/racs
- Owner: racslabs
- License: other
- Created: 2024-12-14T19:55:51.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-01-29T02:07:11.000Z (5 months ago)
- Last Synced: 2026-01-29T12:15:59.045Z (5 months ago)
- Topics: audio, audio-cache, audio-retrieval, audio-server, audio-storage, audio-streaming
- Language: C
- Homepage:
- Size: 2.38 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
## What is RACS?
RACS (Remote Audio Caching Server) is a distributed, persistent audio cache optimized for time-indexed range queries. It uses a hybrid memory-disk storage model for low-latency ingestion and retrieval, enabling fine-grained access to arbitrary time ranges within large audio archives while minimizing disk I/O.
## Features
- **Format Conversion** — Transcode audio to PCM, WAV, Opus and MP3.
- **Time-Range Queries** — Retrieve precise audio segments from large archives.
- **Caching & Persistence** — Hybrid memory–disk storage with LRU caching.
- **Programmability** — Embedded Guile Scheme interpreter for scriptable server interaction.
- **Replication** — Basic master-slave replication.
- **WAL** — Write-ahead log for crash recovery.
## ⚠️ MVP Stage
RACS is currently in the Minimum Viable Product (MVP) stage. It is under active testing. New features and enhancements will be added in future releases. Feedback is welcome!
## Licensing
RACS is distributed under the RACS Source Available License (RACS-SAL-1.0).
It is free for personal, educational, and non-commercial use. Commercial use requires a paid license. For licensing inquiries, contact sales@racslabs.com.
## Generating Documentation
Install dependencies and build HTML docs with:
```sh
pip install sphinx Pygments sphinx-copybutton
cd docs && make html
```
Open `docs/build/html/index.html` in a browser to view the documentation.
## Client Libraries
RACS provides client libraries for multiple languages:
- [**(Python)** py-racs](https://github.com/racslabs/py-racs) — fully usable
- [**(Rust)** rust-racs](https://github.com/racslabs/rust-racs) — fully usable