playlist-data-engine 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -1,14 +1,34 @@
|
|
|
1
1
|
# Playlist Data Engine
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/playlist-data-engine)
|
|
4
|
+
|
|
3
5
|
> The data engine behind **[ar://listen](https://listen.arweave.net/)** — an interactive music player where every song becomes an adventure. Five years in the making.
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
**[Live Engine Demo](https://playlist-data-showcase_contractwizard.ar.io/)** | **[ar://listen Gitbook](https://contract-wizard.gitbook.io/contract-wizard)**
|
|
8
|
+
|
|
9
|
+
The engine takes **[serverless playlists](#what-are-serverless-playlists)** — permanent, censorship-resistant playlists stored on Arweave that mix Ethereum NFTs with decentralized uploads — and turns them into music-powered experiences. It parses playlist data into clean formats, analyzes audio with TensorFlow-powered ML models, detects beats for rhythm games, generates RPG characters from sonic fingerprints, runs combat simulations with seeded dice, and feeds real-world sensor data back into the player to create a living, responsive experience. All with automatic Arweave gateway failover via the Ario Wayfinder so your data is always reachable.
|
|
6
10
|
|
|
7
11
|
**Think of it as a toybox for making music more fun.**
|
|
8
12
|
|
|
13
|
+
**Install as a package:**
|
|
14
|
+
```bash
|
|
15
|
+
npm install playlist-data-engine
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
<details>
|
|
19
|
+
<summary>Install from source (for contributors)</summary>
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
git clone https://github.com/jasondesante/playlist-data-engine.git
|
|
23
|
+
cd playlist-data-engine
|
|
24
|
+
npm install
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
</details>
|
|
28
|
+
|
|
9
29
|
### The Vision: An Intelligent Music Player
|
|
10
30
|
|
|
11
|
-
The original
|
|
31
|
+
The original idea — five years ago — was a music player that goes beyond playing static audio. Think of how the best Nintendo games use dynamic music — different arrangements and mixes depending on what the player does. That's a whole category of experiencing recorded music, but only a handful of games have ever explored it. This engine opens that door for any music. It listens to your tracks and reacts to you — the genre, the mood, the beats, the groove, where you are, what you're doing, the weather outside, the time of day. Every song comes with a character, a combat encounter, a rhythm game chart — all generated from the music itself.
|
|
12
32
|
|
|
13
33
|
That's what this engine does. Every system connects back to making the music player smarter and more interactive:
|
|
14
34
|
|
|
@@ -68,14 +88,6 @@ Plus: groove analysis (pocket detection, hotness meter), combo/groove XP rewards
|
|
|
68
88
|
|
|
69
89
|
---
|
|
70
90
|
|
|
71
|
-
## Quick Start
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
npm install
|
|
75
|
-
npm test
|
|
76
|
-
npm run build
|
|
77
|
-
```
|
|
78
|
-
|
|
79
91
|
### Parse a Playlist & Extract Data
|
|
80
92
|
|
|
81
93
|
```typescript
|
|
@@ -213,6 +225,19 @@ The engine's bread and butter — the foundation everything else builds on. Feed
|
|
|
213
225
|
|
|
214
226
|
The parser handles Arweave-hosted content with built-in gateway failover via the Ario Wayfinder. If one gateway is down, it automatically tries the next — your player never notices.
|
|
215
227
|
|
|
228
|
+
#### What Are Serverless Playlists?
|
|
229
|
+
|
|
230
|
+
Serverless Playlists are permanent building blocks for decentralized music curation stored on [Arweave](https://www.arweave.org/). Instead of algorithms deciding what you hear, you create playlists that work across every platform forever. Mix Ethereum NFTs with Arweave uploads, add your own metadata, then share playlists that can't be censored, deleted, or controlled by anyone but you.
|
|
231
|
+
|
|
232
|
+
They're created with **[The Contract Wizard](https://listen.arweave.net/)** and uploaded to Arweave with standardized tags (`App-Name: Contract-Wizard`, `Uploaded-Type: Playlist`, genre, audio tags, etc.) so they're queryable on-chain. Each track in a playlist can be an Ethereum NFT, a direct Arweave upload, or any mix — the playlist format handles them all.
|
|
233
|
+
|
|
234
|
+
The engine takes these raw Arweave-stored playlist JSON objects and turns them into structured data you can build with.
|
|
235
|
+
|
|
236
|
+
**Learn more:**
|
|
237
|
+
- [Playlist Objects — full spec & format](https://github.com/jasondesante/Ape-Tapes-Docs/tree/main/curate/playlists/playlist-objects)
|
|
238
|
+
- [Playlist Tags — on-chain queryable metadata](https://github.com/jasondesante/Ape-Tapes-Docs/tree/main/curate/playlists/playlist-tags.md)
|
|
239
|
+
- [ar://listen](https://listen.arweave.net/) — the player that started it all
|
|
240
|
+
|
|
216
241
|
### Audio Analysis Pipeline
|
|
217
242
|
|
|
218
243
|
Four analysis modes, each serving different use cases:
|
|
@@ -342,7 +367,7 @@ The engine runs in both environments. Audio analysis uses the Web Audio API (bro
|
|
|
342
367
|
|
|
343
368
|
## Project Status
|
|
344
369
|
|
|
345
|
-
- **Version**: 1.1.
|
|
370
|
+
- **Version**: 1.1.1
|
|
346
371
|
- **TypeScript**: Strict mode
|
|
347
372
|
- **Tests**: 7,205 tests across 183 test files
|
|
348
373
|
- **Module**: Dual ESM/CJS with full type declarations
|