playlist-data-engine 1.1.0 → 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
+ [![npm version](https://img.shields.io/npm/v/playlist-data-engine.svg)](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
- The engine takes **serverless playlists** (stored on Arweave via the Ario network) 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.
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 design — five years ago — was simple: what if a music player *listened* to your music as carefully as you do? What if it knew the genre, the mood, the beats, the groove? What if it could react to where you are, what you're doing, the weather outside, the time of day? What if every song came with a character, a combat encounter, a rhythm game chart — all generated from the music itself?
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.0
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