Audioserve

A minimalist personal server that streams audio files from local directories with a focus on audiobooks.

Audioserve screenshot 1

Audioserve is an open-source, self-hosted server designed to stream audio files from local directories. It focuses on simplicity and minimalist design, primarily targeting users who want to host and access audiobooks. The software is deployed as a server that serves content to a web-based PWA client, though it also supports an older web client, an Android application, and a simple API for custom clients.

The application mirrors the existing directory structure of the host file system rather than relying on audio tags for browsing. It supports multiple collections, allowing users to organize libraries by language or category. The server is written in Rust, while the modern web client is built with TypeScript and Svelte, utilizing Service Workers for browser functionality. This architecture ensures that the user experience remains consistent across different modern browsers.

Key features

  • Direct streaming from local directory structures without requiring audio tags for browsing
  • Support for single-file audiobooks with virtual chapter representation
  • Embedded key-value database caching for fast search and folder loading
  • Automatic detection of folder cover art from JPEG or PNG images
  • Folder descriptions sourced from HTML, TXT, or Markdown files
  • Real-time directory monitoring via inotify on Linux for automatic updates
  • Ability to define custom chapters for large files via CSV files
  • Support for multiple concurrent audio collections

The server uses a caching mechanism powered by sled to improve performance in large libraries, reducing the time needed to collect metadata like duration and bitrate. It handles natural file ordering by default, meaning padded numbers in filenames are not strictly required. For users with specific needs, the server can be configured to follow symbolic links or disable directory watching to save system resources. The system also supports the creation of virtual chapters for long audio files that lack metadata, either by splitting them into equal parts or by referencing an external .chapters file.

Audioserve is positioned as a minimalist tool for users who prefer a file-system-centric approach to managing personal audio libraries.

Last Modified
Software TypeWeb App / Server
Platform
Last Activity19 days ago
Repository Age8 years
LicenseMIT
Open Source Alternative to
Open Source Software.io

Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.