From f69a022afd9d4078358f31cee7e71e0f49154f9d Mon Sep 17 00:00:00 2001 From: b1rdmania <102524336+b1rdmania@users.noreply.github.com> Date: Tue, 30 Dec 2025 11:25:21 +0000 Subject: [PATCH] Clean up repo for public release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removed: - Old planning docs (DEPLOYMENT.md, IMPLEMENTATION.md, etc.) - Dev notes (thursday-aims-progress-problems.md) - Old backup files (main-simple.ts, main-working.ts) - Test file (test.html) - Unused image (chiptune_blog_piece_1000x.webp) - docs/ folder with old audit/plan docs Updated: - Renamed claude.md to CLAUDE.md - Added .claude/ to gitignore 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .gitignore | 1 + claude.md => CLAUDE.md | 0 DEPLOYMENT.md | 102 ----------- IMPLEMENTATION.md | 251 -------------------------- MIDI-playback-integration-plan.md | 163 ----------------- docs/home-ux-audit.md | 92 ---------- docs/sharing-plan.md | 176 ------------------ public/.gitkeep | 1 - public/chiptune_blog_piece_1000x.webp | Bin 182052 -> 0 bytes src/main-simple.ts | 42 ----- src/main-working.ts | 189 ------------------- test.html | 21 --- thursday-aims-progress-problems.md | 107 ----------- 13 files changed, 1 insertion(+), 1144 deletions(-) rename claude.md => CLAUDE.md (100%) delete mode 100644 DEPLOYMENT.md delete mode 100644 IMPLEMENTATION.md delete mode 100644 MIDI-playback-integration-plan.md delete mode 100644 docs/home-ux-audit.md delete mode 100644 docs/sharing-plan.md delete mode 100644 public/.gitkeep delete mode 100644 public/chiptune_blog_piece_1000x.webp delete mode 100644 src/main-simple.ts delete mode 100644 src/main-working.ts delete mode 100644 test.html delete mode 100644 thursday-aims-progress-problems.md diff --git a/.gitignore b/.gitignore index 67e450a..c92cd12 100644 --- a/.gitignore +++ b/.gitignore @@ -34,6 +34,7 @@ logs/ .cache/ .tmp/ .vercel +.claude/ # Backend runtime cache (downloaded MIDI files) server/cache/ diff --git a/claude.md b/CLAUDE.md similarity index 100% rename from claude.md rename to CLAUDE.md diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md deleted file mode 100644 index f057411..0000000 --- a/DEPLOYMENT.md +++ /dev/null @@ -1,102 +0,0 @@ -# Deployment Guide for Motif - -## iOS Fixes Applied -- ✓ Fixed auto-zoom on input focus (font-size: 16px, viewport locked) -- ✓ Prevented zoom on touch (maximum-scale=1.0, user-scalable=no) - -## Backend Deployment - -The MIDI search requires a backend server to be running. You have two options: - -### Option 1: Deploy Backend Separately (Recommended for Production) - -1. Deploy the backend to a service like Render, Railway, or Heroku: - ```bash - cd server - npm install - npm run build - npm start - ``` - -2. Set the `VITE_API_URL` environment variable in your frontend deployment to point to your backend: - ``` - VITE_API_URL=https://your-backend-url.com - ``` - -### Option 2: Run Backend Locally (Development Only) - -1. In one terminal, start the backend: - ```bash - npm run dev:backend - ``` - -2. In another terminal, start the frontend: - ```bash - npm run dev - ``` - -## Vercel Deployment - -### Deploy Frontend to Vercel: - -1. Build the project: - ```bash - npm run build - ``` - -2. Deploy to Vercel: - ```bash - vercel --prod - ``` - -3. Set environment variable in Vercel dashboard: - - Variable name: `VITE_API_URL` - - Value: Your deployed backend URL (e.g., `https://motif-backend.onrender.com`) - -### Deploy Backend to Render/Railway: - -1. Create a new Web Service -2. Connect your GitHub repository -3. Set build command: `cd server && npm install && npm run build` -4. Set start command: `cd server && npm start` -5. Add environment variable `PORT` (usually auto-set) -6. Deploy - -## Environment Variables - -Create a `.env` file in the root directory for local development: - -```bash -VITE_API_URL=http://localhost:3001 -``` - -For production, set this in your deployment platform (Vercel, Netlify, etc.): - -```bash -VITE_API_URL=https://your-backend-api-url.com -``` - -## Testing the Deployment - -1. Open the deployed URL on iOS Safari -2. Search for a song (e.g., "Hotel California") -3. You should see MIDI results load -4. Select a result and play it -5. The page should NOT zoom when touching the search input - -## Troubleshooting - -### No search results on production: -- Check that backend is running (visit `https://your-backend-url.com/health`) -- Verify `VITE_API_URL` environment variable is set correctly in Vercel -- Check browser console for CORS errors -- Rebuild frontend after setting environment variables - -### iOS zoom issue persists: -- Clear Safari cache -- Hard reload the page -- Check that the latest build is deployed - -### CORS errors: -- Backend must allow requests from your frontend domain -- Check server CORS configuration in `server/src/server.ts` diff --git a/IMPLEMENTATION.md b/IMPLEMENTATION.md deleted file mode 100644 index fa4225a..0000000 --- a/IMPLEMENTATION.md +++ /dev/null @@ -1,251 +0,0 @@ -# MOTIF Implementation Status & Roadmap - -**Current Status**: MVP functional with real MIDI search, parsing, and procedural synthesis - ---- - -## ✅ What's Been Built - -### Backend API (Express + TypeScript) - -**Endpoints:** -- `GET /api/midi/search?q=song` - Multi-source MIDI search -- `GET /api/midi/fetch?u=url` - CORS proxy with validation and caching -- `GET /health` - Service health check - -**Architecture:** -``` -server/src/ -├── adapters/ # Search source implementations -│ ├── BitMidiAdapter # HTML parsing for bitmidi.com -│ └── DongraysAdapter # HTML parsing for dongrays.net -├── services/ -│ ├── MIDISearchService # Orchestrates multi-source search -│ └── MIDIFetchService # Downloads, validates, caches MIDI -└── utils/ - └── ScoreUtils # Confidence scoring & quality assessment -``` - -**Key Features:** -- **Confidence Scoring**: Token matching, quality penalties (karaoke, broken files) -- **Disk Caching**: SHA256-hashed files with JSON index -- **Validation**: MIDI header checks, file size limits (10MB max) -- **Error Handling**: Timeouts, graceful fallbacks -- **Deduplication**: Removes duplicate results across sources - -### Frontend (TypeScript + Vite + Web Audio) - -**Architecture:** -``` -src/ -├── core/ -│ ├── MotifEngine # Main orchestrator -│ └── RoleMapper # MIDI track → synthesis role assignment -├── midi/ -│ ├── MIDIProcessor # Feature extraction (tempo, density, etc.) -│ └── MIDIParser # @tonejs/midi wrapper -├── synthesis/ -│ └── SynthesisEngine # Pure Web Audio procedural synthesis -├── services/ -│ └── MIDIService # Backend API client -└── types/ - └── index # TypeScript interfaces -``` - -**Synthesis Pipeline:** -``` -Song Name → MIDI Search → Parse Events → Role Assignment → Web Audio Synthesis -``` - -### Integration Flow - -1. **User enters song name** → `MotifEngine.generateFromSong()` -2. **MIDI Search** → `MIDIService.search()` → Backend `/search` endpoint -3. **Multi-source search** → BitMidi + Dongrays adapters in parallel -4. **Result ranking** → Confidence scoring, deduplication -5. **MIDI Fetch** → `MIDIService.fetchMIDI()` → Backend `/fetch` with caching -6. **MIDI Parsing** → `@tonejs/midi` → Normalized `NoteEvent[]` array -7. **Role Assignment** → `RoleMapper` → Bass/Drone/Ostinato/Texture/Accents -8. **Web Audio Synthesis** → `SynthesisEngine` → Real-time procedural audio - ---- - -## 🔧 How It Actually Works - -### MIDI Resolution Strategy - -**Sources (MVP):** -- **BitMidi**: Regex parsing of search results, direct `.mid` links -- **Dongrays**: Similar approach, handles download endpoints -- **Synthetic Fallback**: Hash-based procedural generation if search fails - -**Scoring Heuristics:** -- Token matching between query and title -- Penalties for "karaoke", "vocal", "broken" -- Bonus for direct `.mid` links -- Source preference (BitMidi slightly favored) - -### Role-Based Synthesis - -**Role Assignment:** -```typescript -// Heuristic rules: -pitch < 48 + short notes = Bass -long duration > 2s = Drone -short + repetitive = Ostinato -high velocity = Accents -everything else = Texture -``` - -**Synthesis Per Role:** -- **Bass**: Square wave, lowpass filter, punchy envelopes -- **Drone**: Sawtooth, bandpass, sustained notes -- **Ostinato**: Triangle, highpass, rhythmic patterns -- **Texture**: Sine, bandpass, atmospheric -- **Accents**: Sine, peaking filter, sharp attacks - -**Web Audio Implementation:** -- Lookahead scheduling (100ms) -- MIDI note → Hz conversion: `440 * 2^((note-69)/12)` -- Velocity-sensitive envelopes -- Automatic looping when MIDI ends -- Per-note oscillator + gain envelope - ---- - -## 🚨 Current Limitations - -### Search Quality -- **HTML Parsing**: Fragile regex-based extraction (not DOM parsing) -- **Limited Sources**: Only 2 sources, no fallbacks if both fail -- **No Metadata**: Can't validate artist, album, year matching -- **Rate Limiting**: No request throttling or backoff - -### MIDI Processing -- **Simple Role Mapping**: Basic pitch/duration heuristics only -- **No Harmonic Analysis**: Doesn't understand chord progressions -- **Track Correlation**: Doesn't detect melody vs accompaniment intelligently -- **Tempo Handling**: Assumes constant tempo, ignores tempo changes - -### Synthesis Engine -- **Basic Timbres**: Simple oscillator types, no complex synthesis -- **No Dynamics**: Volume levels are role-based, not musically aware -- **Limited Effects**: Only basic filtering, no reverb/chorus/etc. -- **Monophonic Layers**: Each role plays one note at a time - -### Frontend UX -- **No Progress Feedback**: Search/fetch happens in black box -- **No Result Preview**: Can't see what MIDI was found before synthesis -- **No Controls**: Can't adjust synthesis parameters -- **Error Messages**: Generic error handling - ---- - -## 🎯 Next Steps (Prioritized) - -### Phase 1: Polish MVP -**Goal**: Make current system reliable and user-friendly - -1. **Better Error Handling** - - Show search progress ("Searching BitMidi...", "Parsing MIDI...") - - Display actual MIDI file found before synthesis - - Graceful degradation with informative messages - -2. **Improve Role Mapping** - - Add harmonic analysis (detect bass lines, chord patterns) - - Use track names/MIDI program changes as hints - - Smarter melody vs accompaniment detection - -3. **Synthesis Polish** - - Add polyphony within roles (chords, multiple bass notes) - - Better envelopes (ADSR with release tails) - - Basic effects (simple reverb, subtle filtering LFOs) - -### Phase 2: Search Enhancement -**Goal**: Higher success rate finding good MIDIs - -4. **Robust Parsing** - - Switch to Cheerio for proper DOM parsing - - Handle dynamic content/JavaScript-loaded results - - Add more MIDI sources (MuseScore, IMSLP public domain) - -5. **Smarter Scoring** - - Artist name matching with fuzzy string comparison - - Duration validation (reject 30-second clips, 20-minute symphonies) - - Key signature and time signature analysis - -6. **Caching & Performance** - - Cache search results (not just MIDI files) - - Add request deduplication and rate limiting - - Background refresh of popular files - -### Phase 3: Synthesis Sophistication -**Goal**: More recognizable and musical output - -7. **Advanced Synthesis** - - Multiple synthesis modes per role (subtractive, FM, additive) - - Tempo-synced effects and modulation - - Cross-role interaction (bass and drums lock together) - -8. **Musical Intelligence** - - Detect and preserve harmonic progressions - - Rhythmic pattern extraction and variation - - Dynamic arrangement (intro/verse/chorus detection) - -9. **User Controls** - - Synthesis parameter sliders (brightness, warmth, density) - - Role muting/soloing - - Tempo adjustment and time-stretching - -### Phase 4: Production Ready -**Goal**: Reliable service for real users - -10. **Infrastructure** - - Database for MIDI metadata and search caching - - CDN for popular MIDI files - - Analytics and error monitoring - -11. **Legal & Content** - - MIDI license validation - - User-uploaded MIDI support - - Integration with Creative Commons sources - ---- - -## 🔬 Technical Debt - -### Immediate -- Remove `crypto` dependency warning in backend package.json -- Add proper TypeScript strict mode compliance -- Implement proper error boundaries in frontend - -### Medium Term -- Replace regex HTML parsing with proper DOM parsing -- Add comprehensive logging/telemetry -- Write unit tests for core algorithms (role mapping, scoring) - -### Long Term -- Consider WebAssembly for intensive audio processing -- Evaluate Web Workers for MIDI parsing/analysis -- Implement WebRTC for real-time collaboration features - ---- - -## 📊 Success Metrics - -**Current State**: -- ✅ Searches return results ~70% of time -- ✅ Successfully parses most MIDI files found -- ✅ Generates audio output 100% of time (with fallback) -- ⚠️ Output recognizably similar to input ~30% of time - -**Target State**: -- 🎯 Search success rate >90% -- 🎯 Musical similarity recognition >70% -- 🎯 User "that sounds like the song" reaction >60% -- 🎯 Sub-3-second generation time 95% of requests - ---- - -**Built**: Functional end-to-end MVP with real MIDI integration -**Next**: Polish the core experience before expanding features \ No newline at end of file diff --git a/MIDI-playback-integration-plan.md b/MIDI-playback-integration-plan.md deleted file mode 100644 index 8c4aefd..0000000 --- a/MIDI-playback-integration-plan.md +++ /dev/null @@ -1,163 +0,0 @@ -## MIDI playback MVP — detailed technical integration plan - -### Product target (MVP) -- **User flow**: - 1) User types a song name (e.g. “Hotel California”) - 2) App searches MIDI sources and shows a ranked list - 3) User selects a result and can **play the MIDI “correctly”** using **General MIDI soundfonts** - 4) User can then click **Generate Motif** to synthesize a “similar-but-different” version from the same parsed MIDI - -### Current code reality (gaps to close) -- **Search is currently biased toward mock/synthetic**, not real MIDI: - - `server/src/services/MIDISearchService.ts` includes `MockAdapter` first. -- **Fetch can silently replace real URLs with synthetic MIDI**: - - `server/src/services/MIDIFetchService.ts` generates synthetic MIDI when URL contains `bitmidi.com/uploads`, preventing true BitMidi playback. -- **Frontend preview is oscillator-based**, not GM soundfont playback. - ---- - -## Architecture (what we’ll ship) - -```mermaid -flowchart LR -User -->|typesQuery| FrontendUI -FrontendUI -->|GET /api/midi/search?q=...| BackendSearch -BackendSearch -->|rankedResults| FrontendUI -FrontendUI -->|selectResult + GET /api/midi/fetch?u=...| BackendFetch -BackendFetch -->|midiBytes| FrontendParse -FrontendParse -->|NoteEvents + TrackMeta| PreviewPlayerGM -FrontendParse -->|NoteEvents| MotifEngine -MotifEngine -->|roles + chords| SynthesisEngine -PreviewPlayerGM --> AudioOut -SynthesisEngine --> AudioOut -``` - ---- - -## Phase 0 — “Real MIDI mode” defaults (backend hardening) - -### 0.1 Gate mock adapter behind env flag -- **Change**: In `server/src/services/MIDISearchService.ts`, make adapters: - - Default: `[BitMidiAdapter, DongraysAdapter]` - - Optional: prepend `MockAdapter` only if `USE_MOCK_ADAPTER=1` (or similar) -- **Acceptance**: - - Searching “Hotel California” returns **non-`synthetic:*`** results when internet is available. - - Devs can still run offline with `USE_MOCK_ADAPTER=1`. - -### 0.2 Stop auto-synth overriding real URLs in fetch -- **Change**: In `server/src/services/MIDIFetchService.ts`, only synthesize when: - - `url.startsWith('synthetic:')` (and optionally if `USE_SYNTHETIC_FETCH=1`) -- **Remove**: `url.includes('bitmidi.com/uploads')` synthetic shortcut -- **Acceptance**: - - Selecting a BitMidi result triggers a real network fetch and caches the real bytes. - - If the remote file is invalid, it fails explicitly with a clear error. - -### 0.3 Make backend behavior explicit in responses (optional but recommended) -- **Change**: Add response fields or headers indicating source: - - Example: `X-Motif-Source: real|synthetic|cache` -- **Acceptance**: - - Frontend can display “cached”/“live”/“synthetic fallback” badges (helps debugging + trust). - ---- - -## Phase 1 — GM soundfont playback (frontend “Preview” becomes correct MIDI playback) - -### 1.1 Dependency choice & asset strategy -- **Dependency**: add a browser-friendly soundfont player dependency (e.g. `soundfont-player`). -- **Soundfont hosting**: - - Prefer static hosting under `/public/soundfonts/` (versioned with the app) - - Or use a CDN, but pin versions and handle CORS -- **MVP instrument set**: - - Minimum viable: **Acoustic Grand Piano** for all melodic tracks, and a basic drum fallback - - Better: load instruments on demand per track program - -### 1.2 Implement `SoundfontMIDIPlayer` -Create `src/synthesis/SoundfontMIDIPlayer.ts` with: -- **Responsibilities** - - Load instruments (program → soundfont instrument name) - - Schedule note-on/note-off with WebAudio timing - - Provide `load(midi)` / `play()` / `stop()` / `setVolume()` APIs -- **Inputs** - - Best: use `@tonejs/midi`’s `Midi` object (tracks include `instrument.number`, `notes`, `channel`) - - Alternate: keep using `NoteEvent[]`, but you’ll lose program/channel unless you extend the event model -- **Timing correctness** - - Use seconds-based timing from `@tonejs/midi` notes (`time`, `duration` are in seconds) - - Ensure AudioContext resumes on user gesture -- **Drums** - - If channel 9/10 is detected: either map to a percussion kit if supported, or skip drums for MVP (but be explicit in UI) - -### 1.3 Wire UI to use soundfont preview -- In `src/main.ts`, replace/augment the current oscillator `MIDIPlayer` usage: - - Preview buttons should play via `SoundfontMIDIPlayer` - - Keep existing Motif buttons intact -- Keep oscillator preview only as a fallback if soundfonts fail to load (optional). - ---- - -## Phase 2 — “Play the real song correctly” UX loop - -### 2.1 Search UX requirements -- **Result list must show**: - - title, source, confidence - - parsed metadata: duration, track count, issues -- **Selection behavior**: - - Selecting a row fetches + parses once; enables Preview + Generate Motif - -### 2.2 Error handling (user-facing) -Define user-facing error classes/messages: -- **Search**: “No results”, “Backend unavailable”, “Rate limited / source blocked” -- **Fetch**: “MIDI file blocked”, “Invalid MIDI header”, “Quality rejected” -- **Parse**: “Unsupported MIDI features” / “Parse failed” -- **Preview playback**: “Soundfont failed to load” / “Audio not allowed until click” - -### 2.3 Observability (dev-facing) -- Backend: log adapter failures per source + timings -- Frontend: log selected MIDI URL, parse duration, instrument load times -- Optional: a small “Debug” accordion showing chosen URL, cache hit, parse issues, loaded instruments - ---- - -## Phase 3 — Motif generation stays step 2 (but align data model) -- Keep the current path: - - `MotifEngine.generateFromMIDI(NoteEvent[])` then `MotifEngine.play()` -- Recommended alignment work: - - Decide whether Motif should later consume richer track metadata (program/channel) to improve role mapping. - ---- - -## Integration milestones & acceptance checks - -### Milestone A — Real MIDI end-to-end -- Search returns results from BitMidi/Dongrays with mock disabled by default -- Fetch returns real bytes and caches them -- Parse endpoint `/api/midi/parse` works for metadata - -### Milestone B — “Correct” preview playback -- Preview produces recognizable instrument playback (piano at minimum) -- Stop reliably stops scheduled notes -- Works in Chrome/Safari with autoplay policies (requires click) - -### Milestone C — Motif as second step -- Generate Motif still works on the same loaded MIDI -- Preview and Motif can be A/B tested without reloading the page - ---- - -## Recommended team task breakdown - -### Backend engineer -- Implement env gating for mock/synthetic -- Tighten fetch behavior + ensure BitMidi URLs are truly fetched -- Add explicit “source = real/cache/synthetic” marker - -### Frontend engineer -- Add the chosen soundfont library -- Implement `SoundfontMIDIPlayer` -- Wire `src/main.ts` preview buttons to soundfont playback -- Add user-facing error messaging for soundfont failures - -### QA / test harness -- Maintain a short list of known-good queries (3–5 songs) and confirm: - - search results appear - - at least one MIDI fetches and plays - - Motif plays afterward diff --git a/docs/home-ux-audit.md b/docs/home-ux-audit.md deleted file mode 100644 index f1bcfb5..0000000 --- a/docs/home-ux-audit.md +++ /dev/null @@ -1,92 +0,0 @@ -# Home UX audit + improvements (arcade-first) - -This doc is a saved copy of the current home UX audit plan (no code changes). - -## Current UX issues (what’s making it feel uninspiring/confusing) -- **Unclear hierarchy**: “Search”, “Preview”, and “Synthesis Engine” compete; users don’t instantly see the main thing to do. -- **Weak step-by-step guidance**: The app is a 3-step flow (Search → Select → Run engine), but the UI doesn’t feel like a guided sequence. -- **Controls feel detached from state**: Buttons don’t always read as “locked until selection”; the reason for disabled state isn’t visible. -- **Results table is dense** on mobile: long titles wrap unpredictably, selection highlight is subtle. -- **Copy and concept drift**: “emulator/engine” and “MIDI scrape/analyse” copy varies; the story should be consistent and confident. -- **iOS audio state**: The “Enable Audio” banner is reactive but not integrated into the flow (and can appear “random”). - -## Target outcome -Arcade cabinet vibe with a clear, dramatic main CTA: -- **Primary action**: “Run the engine” (Generate & Play) -- Secondary: preview the MIDI -- Stronger “insert coin” style guidance: show step chips and a big engine panel. - -## Proposed UX changes (high impact, low risk) - -### 1) Make the flow explicit -Update `index.html`: -- Add a compact “Steps” row near the top: - - Step 1: Search - - Step 2: Pick a MIDI - - Step 3: Run the engine -- Tie each step’s visual state to app state: - - Step 2/3 show “locked” styling until available. - -### 2) Promote “Synthesis Engine” as the hero module -- Move the engine card visually above Preview (or keep order but make engine card visually dominant). -- Make engine CTA bigger and more arcade: - - Primary button: **Run the engine** - - Secondary: Stop - - Volume + progress remain but visually subordinate. -- Add a small one-line “what this does” under the button, not as a paragraph. - -### 3) Preview becomes clearly “optional” -- Rename to “Listen to the source MIDI (optional)” -- Collapse preview by default on mobile (or add a “Show preview” toggle) to reduce overwhelm. - -### 4) Results list readability + selection confidence -- Increase row tap targets and selection contrast. -- Add a right-side “Selected” chip on the selected row. -- On mobile: - - clamp long titles to 2 lines - - reduce columns (hide Source or Duration) based on width. - -### 5) iOS audio UX integrated into the engine (subtle) -- Only on iOS-like browsers and only when audio is locked. -- Show a small under-section link: “Having trouble on iOS? Enable audio” -- Clicking expands a compact CTA row (Enable Audio button + tiny state line). -- Avoid a big persistent banner that could confuse non-iOS users. - -### 6) Copy pass -Deferred for now: keep copy changes out of this pass. - -## Implementation plan (concrete) - -### Files -- Primary: `index.html` -- Minor TS adjustments (state-driven CSS classes): `src/main.ts` - -### Approach -- Add a small set of **state CSS classes** on `body` (or on `.container`): - - `state-has-results` - - `state-has-selection` - - `state-audio-locked` -- In `src/main.ts`, toggle these classes when: - - results are loaded - - a selection is made - - audio unlock state changes -- Use CSS to: - - style locked sections - - highlight the engine CTA - - improve mobile responsiveness - -## Test plan -- Desktop Chrome/Safari: - - search → select → engine run - - preview optional still works -- iOS Safari: - - first run shows “arm audio” only when needed - - no random banner when audio is already running -- Visual: - - mobile widths (320–430px) - - long titles wrapping - -## Non-goals -- No changes to the core synthesis engine behavior or backend. -- No copywriting/wording changes in this pass. - diff --git a/docs/sharing-plan.md b/docs/sharing-plan.md deleted file mode 100644 index 2e580b7..0000000 --- a/docs/sharing-plan.md +++ /dev/null @@ -1,176 +0,0 @@ -# Sharing plan: links + player landing + Motif export - -This document captures the implementation plan for **Share links** (Copy Link + Share to X), a minimal **player landing page**, and the next step: sharing **generated Motif variants** via **exported artifacts** (MIDI and/or audio). - -## Goals -- **Shareable outcome**: users can share something they heard (original MIDI preview, or a generated Motif variant). -- **One-click-to-hear**: shared links load quickly and are ready to play (but never true autoplay; iOS requires a user gesture). -- **Lightweight**: keep the landing page minimal and stable. -- **Safe**: shared URLs must not turn the backend into an open proxy. - -## MVP constraints (important) -- **iOS/Safari** blocks audio until a user gesture. The landing can preload, but playback needs a tap. -- **X/Twitter** shares are links + preview cards. No reliable in-post WebAudio playback. -- Search results can change over time, so **index-based sharing** is brittle. - -## UX spec - -### A) Main app: Share controls -Placement: near the “Selected MIDI”/result context (where users decide something is share-worthy). - -Controls: -- **Copy link**: copies a permalink to clipboard + shows a small “Copied” toast. -- **Share to X**: opens the tweet composer with prefilled text + URL. - -X intent URL format: -- `https://twitter.com/intent/tweet?text=&url=` - -Suggested default tweet text: -- `Listening to “{title}” in MOTIF — try it` - -### B) Share landing: `/play` -A minimal landing page that: -- reads parameters from the URL -- fetches the MIDI (or exported artifact) -- enables Play/Stop + volume -- shows iOS “Enable Audio” CTA if required -- includes a primary CTA: **Generate your own** → links back to the main app - -## URL design (heart of the plan) - -### v1: share the original MIDI preview (recommended MVP) -Use the MIDI URL as the stable identifier. - -Landing URL: -- `/play?u=&title=&song=` - -Notes: -- `u` is required for reproducibility. -- `title` is display-only (optional). -- `song` supports the CTA back to the main app (optional). - -Example: -- `/play?u=https%3A%2F%2Fbitmidi.com%2Fuploads%2F...mid&title=Hotel%20California&song=Hotel%20California` - -Main app CTA target: -- `/?song=` - -### Why not share “result index”? -Because search ranking shifts; index links rot. If needed, index can be a fallback only when `u` is missing. - -## `/play` landing behavior - -### Required inputs -- **Preview share**: `u` (MIDI source URL) -- **Export share**: `m` (motif midi id) or `a` (audio id) - -### State machine -- If `m` or `a` present → load exported artifact -- Else if `u` present → fetch + parse MIDI via backend proxy -- Else → show “Invalid link” + CTA to home - -### Playback -- Never autoplay. -- Enable Audio CTA shown until AudioContext is running. - -### Error cases -- Missing/invalid params → show “Invalid link” -- Backend fetch failure → show “Couldn’t load this MIDI” -- Parse failure → show “Unsupported or corrupted MIDI” - -## Export-based sharing (generated Motif variants) -Sharing a generated Motif variant needs an artifact the landing page can load reliably: -- **MIDI export**: smaller, fast, consistent with the project (music-as-structure) -- **Audio export**: most universal listening, but heavier and needs careful encoding/hosting - -### Recommended sequencing -1) **MIDI export first** (fast, small, easy to iterate)\n2) Add **audio export** once the flow proves value (and storage/limits are solved) - -### Proposed backend endpoints - -#### 1) Create export (returns a shareable play URL) -`POST /api/share/export` - -Input (example): -```json -{ - "u": "https://bitmidi.com/uploads/....mid", - "song": "Hotel California", - "title": "Hotel California - Eagles", - "preset": "dance|ambient|ominous|default", - "params": { "intensity": 0.5, "swing": 0.1 }, - "format": "midi|audio" -} -``` - -Output (example): -```json -{ - "id": "abc123", - "format": "midi", - "playUrl": "/play?m=abc123&title=Hotel%20California&song=Hotel%20California" -} -``` - -#### 2) Fetch export artifact -Option A (explicit): -- `GET /api/share/artifact?id=abc123` → returns bytes (MIDI or audio) - -Option B (format-specific): -- `GET /api/share/midi?id=abc123` -- `GET /api/share/audio?id=abc123` - -Landing params: -- MIDI artifact: `/play?m=&title=...&song=...` -- Audio artifact: `/play?a=&title=...&song=...` - -### Storage strategy (dev vs production) -- **Local dev**: filesystem under `server/cache/exports/` -- **Vercel production**: filesystem is not durable; prefer: - - blob storage (recommended), or - - KV/object store (if blob not available), or - - a small database row referencing a blob key - -### Security constraints (must-have) -- Validate `u` server-side: - - allow only `http`/`https` - - strongly consider allowlisting hosts (e.g. `bitmidi.com`) for v1 -- Enforce limits: - - max MIDI bytes - - max parsed duration - - max export size - - max export time/CPU -- Rate-limit export endpoints. -- Cache and dedupe exports: - - key by `(sourceMidiHash + preset + params + format)` to avoid repeated work - -## Files (expected) — implementation map -Frontend: -- `index.html`: Share UI elements -- `src/main.ts`: URL generation + clipboard + X intent -- `play.html` + `src/play.ts`: landing page UI + logic -- `vite.config.ts`: add `play.html` to multi-page inputs - -Backend: -- `server/src/server.ts`: route handlers for export endpoints -- `server/src/services/*`: reuse parsing/generation services as needed -- `server/cache/exports/`: local dev artifact cache - -Routing/deploy: -- `vercel.json`: add `/play` → `/play.html` similar to `/embed` - -## Test plan -- Desktop: - - Share from main app → open `/play?...` in new tab → loads → plays after click - - Copy link works; X intent opens with correct URL -- iOS Safari: - - `/play` shows Enable Audio when needed - - Tap Enable Audio → tap Play → sound -- Export flow: - - Export MIDI variant → receive `/play?m=...` → plays the exported MIDI reliably - - Export audio variant (if implemented) → `/play?a=...` → plays reliably - -## Success criteria -- A shared link reliably recreates “the thing” (preview or exported variant) and is playable with one tap. -- The system remains safe under abuse (no open proxy behavior, bounded cost). - diff --git a/public/.gitkeep b/public/.gitkeep deleted file mode 100644 index 1ab5c00..0000000 --- a/public/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# Save the social preview image as og-image.jpg in this directory diff --git a/public/chiptune_blog_piece_1000x.webp b/public/chiptune_blog_piece_1000x.webp deleted file mode 100644 index 869f3560c76aac88ead594b031c0837b82d3f641..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182052 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 r.title).join(', ')}`; - - } catch (error) { - console.error('Search error:', error); - status.textContent = `Search error: ${error}`; - } finally { - searchBtn.disabled = false; - } - }); - - console.log('Event listeners attached'); -}); \ No newline at end of file diff --git a/src/main-working.ts b/src/main-working.ts deleted file mode 100644 index 6c2b3f5..0000000 --- a/src/main-working.ts +++ /dev/null @@ -1,189 +0,0 @@ -console.log('Full Motif app loading...'); - -interface SearchResult { - id: string; - title: string; - source: string; - pageUrl: string; - midiUrl: string; - confidence: number; -} - -class MotifApp { - private searchResults: SearchResult[] = []; - private selectedIndex = 0; - - constructor() { - document.addEventListener('DOMContentLoaded', () => { - this.initializeUI(); - }); - } - - private initializeUI(): void { - console.log('Initializing UI...'); - - const searchBtn = document.getElementById('searchBtn') as HTMLButtonElement; - const songInput = document.getElementById('songInput') as HTMLInputElement; - - if (!searchBtn || !songInput) { - console.error('UI elements not found!'); - return; - } - - searchBtn.addEventListener('click', () => this.handleSearch()); - songInput.addEventListener('keypress', (e) => { - if (e.key === 'Enter') this.handleSearch(); - }); - - // Make selectResult globally available for onclick handlers - (window as any).app = this; - - console.log('UI initialized successfully'); - } - - private async handleSearch(): Promise { - const songInput = document.getElementById('songInput') as HTMLInputElement; - const searchBtn = document.getElementById('searchBtn') as HTMLButtonElement; - const status = document.getElementById('status')!; - - const songName = songInput.value.trim(); - if (!songName) return; - - status.textContent = 'Searching for MIDI files...'; - searchBtn.disabled = true; - - try { - const response = await fetch(`http://localhost:3001/api/midi/search?q=${encodeURIComponent(songName)}`); - const data = await response.json(); - - console.log('Search results:', data); - - if (data.results.length === 0) { - status.textContent = 'No MIDI files found. Try a different search.'; - return; - } - - this.searchResults = data.results; - this.displayResults(); - status.textContent = `Found ${data.results.length} MIDI files. Select one to play.`; - - } catch (error) { - console.error('Search error:', error); - status.textContent = `Search error: ${error}`; - } finally { - searchBtn.disabled = false; - } - } - - private displayResults(): void { - const resultsSection = document.getElementById('resultsSection')!; - const resultsBody = document.getElementById('resultsBody')!; - - resultsBody.innerHTML = ''; - - this.searchResults.forEach((result, index) => { - const row = document.createElement('tr'); - if (index === this.selectedIndex) { - row.classList.add('selected'); - } - - row.innerHTML = ` - ${result.title} - ${result.source} - -
-
-
- - ? - ? - - - `; - - resultsBody.appendChild(row); - }); - - resultsSection.classList.add('visible'); - - // Auto-select first result - if (this.searchResults.length > 0) { - this.selectResult(0); - } - } - - public async selectResult(index: number): Promise { - if (index < 0 || index >= this.searchResults.length) return; - - this.selectedIndex = index; - const result = this.searchResults[index]; - - // Update selection highlighting - const rows = document.querySelectorAll('#resultsBody tr'); - rows.forEach((row, i) => { - row.classList.toggle('selected', i === index); - }); - - const status = document.getElementById('status')!; - const playerSection = document.getElementById('playerSection')!; - const selectedTitle = document.getElementById('selectedTitle')!; - const selectedMeta = document.getElementById('selectedMeta')!; - - status.textContent = 'Loading MIDI file...'; - - try { - // Fetch MIDI data - const response = await fetch(`http://localhost:3001/api/midi/fetch?u=${encodeURIComponent(result.midiUrl)}`); - - if (!response.ok) { - throw new Error(`Failed to fetch MIDI: ${response.status}`); - } - - const midiBuffer = await response.arrayBuffer(); - - // Update UI - selectedTitle.textContent = result.title; - selectedMeta.innerHTML = ` - Source: ${result.source} | - Size: ${(midiBuffer.byteLength / 1024).toFixed(1)}KB | - Confidence: ${Math.round(result.confidence * 100)}% - `; - - playerSection.classList.add('visible'); - - // Enable preview button - const previewBtn = document.getElementById('previewBtn') as HTMLButtonElement; - const motifBtn = document.getElementById('motifBtn') as HTMLButtonElement; - previewBtn.disabled = false; - motifBtn.disabled = false; - - // Store MIDI data for playback - (this as any).currentMIDI = { buffer: midiBuffer, result }; - - status.textContent = 'MIDI loaded. You can now preview or generate synthesis.'; - - } catch (error) { - console.error('Load error:', error); - status.textContent = `Load error: ${error}`; - } - } - - public async handlePreview(): Promise { - console.log('Preview clicked - would play original MIDI here'); - const status = document.getElementById('status')!; - status.textContent = 'Preview playback not yet implemented - but MIDI is loaded!'; - } - - public async handleMotif(): Promise { - console.log('Motif clicked - would generate synthesis here'); - const status = document.getElementById('status')!; - status.textContent = 'Motif synthesis not yet implemented - but MIDI is parsed!'; - } -} - -// Initialize app -new MotifApp(); - -// Expose handlers for buttons -(window as any).handlePreview = () => (window as any).app.handlePreview(); -(window as any).handleMotif = () => (window as any).app.handleMotif(); \ No newline at end of file diff --git a/test.html b/test.html deleted file mode 100644 index d936db7..0000000 --- a/test.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - Test - - - -
Not loaded
- - - - \ No newline at end of file diff --git a/thursday-aims-progress-problems.md b/thursday-aims-progress-problems.md deleted file mode 100644 index 8ecc81f..0000000 --- a/thursday-aims-progress-problems.md +++ /dev/null @@ -1,107 +0,0 @@ -# MOTIF Project - Thursday Status Report - -## Project Overview - -**MOTIF** is a procedural music synthesis system that extracts structural information from existing MIDI files and recreates them as original, real-time audio using Web Audio API. The core concept: "music as executable structure, not static audio." - -### Workflow -1. User searches for a song by name -2. System finds MIDI files from multiple sources (BitMidi, Dongrays) -3. MIDI is parsed and analyzed for structural features (tempo, density, melodic patterns) -4. Notes are mapped to synthesis "roles" (bass, drone, ostinato, texture, accents) -5. Web Audio API generates procedural audio with similar "feel" but original sound - -## Current Status: Functional MVP - -### ✅ Completed Features - -**Complete Search Pipeline** -- Multi-source MIDI search with confidence scoring -- Real MIDI integration with fetching and parsing -- Graceful error handling and timeouts - -**Role-Based Synthesis Engine** -- Intelligent mapping of MIDI tracks to synthesis layers -- Role-specific oscillator types and filtering -- Velocity-sensitive ADSR envelopes -- Polyphonic chord support -- Automatic looping and proper cleanup - -**Polished User Interface** -- Search results table with confidence bars and quality analysis -- Dual player UI: Preview Original MIDI vs Generate Motif -- Real-time status updates and progress feedback -- "Try Next Result" workflow for easy A/B testing - -**Backend Infrastructure** -- Express + TypeScript server -- CORS proxy with validation and SHA256 disk caching -- Multi-source search (BitMidi, Dongrays, synthetic fallback) -- Quality assessment with penalties for problematic content - -### 📈 Recent Progress (Latest Commit) - -**Major UI/UX Improvements:** -- Implemented search results table with metadata display -- Added MIDI preview player with basic oscillator mapping -- Built dual transport controls for comparison -- Integrated ParsedMIDIInfo with comprehensive track analysis -- Enhanced confidence scoring system with quality penalties - -**Technical Enhancements:** -- Sophisticated role mapping with pitch range and density analysis -- Improved error handling across the pipeline -- Better synthesis scheduling with Web Audio lookahead -- Streamlined search-to-synthesis workflow - -## Current Problems & Limitations - -### 🔴 Performance Issues -- **~70% search success rate** (goal: >90%) -- **~30% musical similarity recognition** (goal: >70%) -- HTML regex parsing is fragile (should use DOM parsing) - -### 🟡 Feature Limitations -- Basic role mapping heuristics (lacks harmonic analysis) -- Simple synthesis timbres (basic oscillators only) -- Limited MIDI source coverage -- No user controls for synthesis parameters - -### 🟠 Technical Debt -- Need more robust parsing for edge cases -- Search confidence scoring could be more sophisticated -- Some synthesis roles need refinement - -## Next Sprint Priorities - -### Phase 1: Core Stability (Next 1-2 weeks) -1. **Improve search success rate** - better error handling, additional sources -2. **Enhance role mapping** - add harmonic analysis, rhythm detection -3. **Polish synthesis** - more interesting timbres, dynamic control -4. **Robust parsing** - replace regex with proper DOM parsing - -### Phase 2: Musical Intelligence (2-4 weeks) -1. **Smarter scoring** - melodic similarity, harmonic progression analysis -2. **Advanced synthesis** - effects, modulation, realistic instruments -3. **User controls** - synthesis parameter adjustment, role customization -4. **More MIDI sources** - expand search coverage - -### Phase 3: Production Ready (1-2 months) -1. **Performance optimization** - caching, preloading, worker threads -2. **Legal compliance** - proper attribution, copyright handling -3. **User uploads** - allow custom MIDI file analysis -4. **Production infrastructure** - deployment, monitoring, scaling - -## Technical Architecture - -**Backend:** Express + TypeScript with multi-source search, CORS proxy, and caching -**Frontend:** TypeScript + Vite + Web Audio with real-time synthesis -**Key Components:** MotifEngine, RoleMapper, SynthesisEngine, MIDIPlayer - -## Demo Status - -✅ **Ready to demonstrate** - Full end-to-end pipeline functional -✅ **User-friendly interface** - Polished search and playback experience -✅ **Comparative validation** - Side-by-side original vs synthesis preview - -The project successfully proves the core concept and is ready for user testing and iterative improvement. \ No newline at end of file