惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
Y
Y Combinator Blog
博客园_首页
V
Visual Studio Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
Hugging Face - Blog
Hugging Face - Blog
宝玉的分享
宝玉的分享
B
Blog
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
WordPress大学
WordPress大学
L
LangChain Blog
爱范儿
爱范儿
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
Blog — PlanetScale
Blog — PlanetScale
C
Check Point Blog
博客园 - 聂微东
云风的 BLOG
云风的 BLOG
Microsoft Security Blog
Microsoft Security Blog
博客园 - 叶小钗
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Help Net Security

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - brxs/slipmate: An AI DJ application
ttoinou · 2026-06-15 · via Hacker News: Show HN

SlipMate — generative DJ

Your generative DJ mate — a DJ instrument for real-time AI music.

Buy me a coffee

Two locally-running model decks, steered by text prompts and mixed like vinyl: three-band EQ, one-knob Color FX, a crossfader, headphone cue, and full Pioneer DDJ-FLX4 control. The live decks run on Magenta RealTime 2; generated pads and finished tracks come from Stable Audio 3. See docs/ROADMAP.md for how it got here and docs/adr/ for the architecture decisions.

Requirements

  • Apple Silicon Mac (MLX backend)
  • uv
  • ~13 GB disk for model weights (downloaded on first setup: Magenta ~4.5 GB for both deck models, Stable Audio 3 ~8 GB including the medium track model)
  • A Chromium-based browser (the app leans on Web Audio worklets and Web MIDI; it is developed and verified against Chrome)
  • Optional: a Pioneer DDJ-FLX4 for hardware control and its headphone jack

All common tasks live in the justfile — run just to list them.

Setup

just setup   # backend deps, all model weights (~13 GB), frontend deps + build

Magenta models land in ~/Documents/Magenta/magenta-rt-v2 (override with MAGENTA_HOME): both deck models, the default mrt2_small and the heavier, higher-quality mrt2_base, selectable per deck in the UI — the app warns when the combined selection looks tight for your RAM. Stable Audio 3 — generated pads and tracks — is cloned to ~/Repos/stable-audio-3 (override with SA3_MLX_HOME; an existing checkout is reused) and its weights are pre-warmed so no request ever pays for a download; just setup-sa3 re-runs that half alone.

Run

Then open http://127.0.0.1:8000 — add style targets to a deck's pad, hit play, blend targets by dragging the cursor (or the dots themselves, to cluster them), and ride the crossfader between decks.

  • Mixer — per-deck volume and Hi/Mid/Low EQ, crossfader, and Record, which captures the master bus to a downloadable WAV. The health row shows the stream buffer, underrun count, and generation speed.
  • Color FX — one knob per deck over a chosen effect: Filter (bipolar LPF/HPF), Dub Echo, Space, Crush, Noise, Sweep. The knob's centre/zero is a bit-exact bypass (ADR-0008).
  • Freeze loops — capture the last bars of a deck into one of four loop slots and hold the moment on air while you re-steer the model underneath; loops are session-only by design (ADR-0009).
  • Beat detection — each deck shows its detected BPM behind an honesty gate (a dash rather than a wrong number); with a confident tempo the Dub Echo syncs to the beat and freeze captures quantise to whole beats (ADR-0010).
  • Deck-to-deck style sampling — one press puts "the sound of the other deck, right now" on a deck's style pad as a blendable target; sampled targets are session-only by design (ADR-0011).
  • Crates — save a deck's pad + Color FX as a named preset, browse the crate from the FLX4's rotary, and load onto either deck mid-set; export/import as JSON for backup and sharing.
  • Master housekeeping — a limiter on the master (the meter, the recording, and the phones all hear the limited signal; its gain reduction shows in the mixer) and per-channel auto-gain Trim that levels decks of different loudness, with a manual override.
  • Headphone cue — hit a channel's Cue, ride the Cue mix knob between cue and master, and pick a Phones out: any output device the browser can reach, or the FLX4's own headphone jack, which is fed by the backend over USB (ADR-0007).

Settings (pad arrangements, volumes, crossfade) persist across reloads. Shortcuts: A/B focus a deck's style-target input, X focuses the crossfader.

For frontend development: just dev-backend in one terminal, just dev-frontend in another (the Vite dev server proxies /ws to the backend).

Hardware control (Pioneer DDJ-FLX4)

Plug in the FLX4 and click Connect MIDI (Chrome asks for MIDI with SysEx; plain MIDI works too, minus position sync). Mapped controls:

  • Play/pause, channel faders, three-band EQ, crossfader
  • Channel CUE buttons (headphone cue) and the transport CUE button (deck prep: prime a stopped deck off-air, stop a playing one)
  • SMART CFX knob — Color FX amount; hold SHIFT to sweep the style pad instead
  • PAD FX pad bank — select the deck's effect (re-press toggles it off); HOT CUE pads pick style targets; SAMPLER pads freeze loops (SHIFT + pad clears a slot)
  • HEADPHONES MIX knob — cue mix
  • Browse rotary + LOAD buttons — highlight a crate preset, load it onto deck 1 or 2

Knob and fader positions sync from the hardware on connect, and the LEDs mirror app state. The measured byte map lives in docs/midi-ddj-flx4.md.

Verify

  • just test — backend pytest + frontend vitest
  • just lint — format check, ruff, eslint, tsc
  • just check — both of the above; what a PR must pass
  • just verify-stream / just verify-ui — e2e against a running server (UI e2e needs Playwright Chromium once: npx playwright install chromium in frontend/)
  • just verify-worklets — the audio-worklet module graph loads in real Chromium (self-contained; jsdom executes none of the worklet code)
  • Hardware behaviour is verified by a human against the checklists in docs/ (m7-, m9-m10-, m12-hardware-checklist.md)