Skip to main content

max / audiofiles

Add hyperlinks to README for all third-party projects Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Author: Max J. <87768334+MaxJMath@users.noreply.github.com> · 2026-03-19 16:37 UTC
Commit: 5eecf69b1a020cd529c7988b49b65507687aaa08
Parent: 10d74d7
1 file changed, +12 insertions, -12 deletions
M README.md +12 -12
@@ -1,12 +1,12 @@
1 1 # audiofiles
2 2
3 - A sample manager with content-addressed storage and a virtual file system. Standalone desktop app built with Rust, egui, and SQLite.
3 + A sample manager with content-addressed storage and a virtual file system. Standalone desktop app built with [Rust](https://www.rust-lang.org/), [egui](https://github.com/emilk/egui), and [SQLite](https://sqlite.org/).
4 4
5 5 ## Prerequisites
6 6
7 - - **Rust** (stable toolchain, 2021 edition)
7 + - **[Rust](https://www.rust-lang.org/)** (stable toolchain, 2021 edition)
8 8
9 - No platform-specific audio libraries are required. Audio decoding uses Symphonia (pure Rust), SQLite is bundled via rusqlite, and the standalone app uses cpal for system audio output.
9 + No platform-specific audio libraries are required. Audio decoding uses [Symphonia](https://github.com/pdeljanov/Symphonia) (pure Rust), SQLite is bundled via [rusqlite](https://github.com/rusqlite/rusqlite), and the standalone app uses [cpal](https://github.com/RustAudio/cpal) for system audio output.
10 10
11 11 ## Build and Run
12 12
@@ -27,11 +27,11 @@ Five crates:
27 27
28 28 | Crate | Path | Role |
29 29 |-------|------|------|
30 - | `audiofiles-core` | `crates/audiofiles-core/` | Domain library. SQLite database, content-addressed store (SHA-256), audio decoding (Symphonia), analysis pipeline (loudness, BPM, key, spectral, classification), VFS, tag system. |
31 - | `audiofiles-browser` | `crates/audiofiles-browser/` | Shared egui UI. File list, detail panel, waveform display, search/filter, import wizard, analysis progress, export, themes. |
32 - | `audiofiles-app` | `crates/audiofiles-app/` | Standalone desktop app via eframe. System audio output (cpal), drag-and-drop import, native drag-out to Finder/DAWs, CLI argument import, OTA updates. |
33 - | `audiofiles-sync` | `crates/audiofiles-sync/` | Cloud sync integration via SyncKit. Pushes/pulls sample metadata, tags, and VFS structure across devices. E2E encrypted. |
34 - | `audiofiles-rhai` | `crates/audiofiles-rhai/` | Rhai scripting engine for device export profiles. Transforms sample metadata and file layout for 14 hardware samplers. |
30 + | `audiofiles-core` | `crates/audiofiles-core/` | Domain library. [SQLite](https://sqlite.org/) database, content-addressed store (SHA-256), audio decoding ([Symphonia](https://github.com/pdeljanov/Symphonia)), analysis pipeline (loudness, BPM, key, spectral, classification), VFS, tag system. |
31 + | `audiofiles-browser` | `crates/audiofiles-browser/` | Shared [egui](https://github.com/emilk/egui) UI. File list, detail panel, waveform display, search/filter, import wizard, analysis progress, export, themes. |
32 + | `audiofiles-app` | `crates/audiofiles-app/` | Standalone desktop app via [eframe](https://github.com/emilk/egui/tree/master/crates/eframe). System audio output ([cpal](https://github.com/RustAudio/cpal)), drag-and-drop import, native drag-out to Finder/DAWs, CLI argument import, OTA updates. |
33 + | `audiofiles-sync` | `crates/audiofiles-sync/` | Cloud sync integration via [SyncKit](https://makenot.work). Pushes/pulls sample metadata, tags, and VFS structure across devices. E2E encrypted. |
34 + | `audiofiles-rhai` | `crates/audiofiles-rhai/` | [Rhai](https://rhai.rs/) scripting engine for device export profiles. Transforms sample metadata and file layout for 14 hardware samplers. |
35 35
36 36 Dependency flow: `audiofiles-core` is the leaf -> `audiofiles-rhai` and `audiofiles-sync` depend on core -> `audiofiles-browser` depends on core, sync, and rhai -> `audiofiles-app` depends on browser and core.
37 37
@@ -42,13 +42,13 @@ Dependency flow: `audiofiles-core` is the leaf -> `audiofiles-rhai` and `audiofi
42 42 - **Analysis pipeline** -- loudness (peak/RMS/LUFS), BPM detection, key detection, spectral analysis, loop detection, classification into 12 categories
43 43 - **Tag system** -- hierarchical dot-notation tags with auto-suggestions from analysis results
44 44 - **Search and filtering** -- text search, BPM/duration ranges, key selector, classification filters, tag prefix matching, smart folders
45 - - **Rhai export engine** -- scriptable device profiles for exporting to 14 hardware samplers (SP-404, Digitakt, MPC, Deluge, OP-1, etc.)
46 - - **Cloud sync** -- cross-device sync of metadata, tags, and VFS via SyncKit (E2E encrypted, ChaCha20-Poly1305 + Argon2)
45 + - **[Rhai](https://rhai.rs/) export engine** -- scriptable device profiles for exporting to 14 hardware samplers (SP-404, Digitakt, MPC, Deluge, OP-1, etc.)
46 + - **Cloud sync** -- cross-device sync of metadata, tags, and VFS via [SyncKit](https://makenot.work) (E2E encrypted, [ChaCha20-Poly1305](https://docs.rs/chacha20poly1305) + [Argon2](https://docs.rs/argon2))
47 47 - **Native drag-out** -- drag samples from the file list directly to Finder, Desktop, or any DAW
48 48 - **MIDI instrument** -- chromatic and multi-sample playback modes with 8-voice polyphony and ADSR envelopes
49 - - **17 bundled themes** -- dark, light, and high-contrast variants in TOML format
49 + - **17 bundled themes** -- dark, light, and high-contrast variants in [TOML](https://toml.io/) format
50 50 - **Audio formats** -- WAV, FLAC, MP3, OGG, AIFF
51 51
52 52 ## License
53 53
54 - PolyForm Noncommercial 1.0.0
54 + [PolyForm Noncommercial 1.0.0](https://polyformproject.org/licenses/noncommercial/1.0.0/)