11c894bd91
Backend (MVP): - Express API with /search and /fetch endpoints - BitMidi and Dongrays search adapters with scoring heuristics - CORS proxy with disk caching and validation - Quality assessment and file size limits Frontend Integration: - Switch to @tonejs/midi parser for reliable MIDI parsing - MIDIService for backend API communication - MotifEngine updated to try real MIDI, fallback to synthetic - Enhanced error handling and logging Development: - Concurrent frontend/backend npm scripts - Basic project documentation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
35 lines
873 B
JSON
35 lines
873 B
JSON
{
|
|
"name": "motif",
|
|
"version": "0.1.0",
|
|
"description": "Procedural Music Synthesis from MIDI Structure",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"dev:backend": "cd server && npm run dev",
|
|
"dev:all": "npm run dev:backend & npm run dev",
|
|
"build": "tsc && vite build",
|
|
"build:backend": "cd server && npm run build",
|
|
"preview": "vite preview",
|
|
"lint": "eslint src --ext .ts,.tsx",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^20.0.0",
|
|
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
"@typescript-eslint/parser": "^6.0.0",
|
|
"eslint": "^8.0.0",
|
|
"typescript": "^5.0.0",
|
|
"vite": "^5.0.0"
|
|
},
|
|
"dependencies": {
|
|
"@tonejs/midi": "^2.0.28"
|
|
},
|
|
"keywords": [
|
|
"web-audio",
|
|
"procedural-synthesis",
|
|
"midi",
|
|
"music-generation"
|
|
],
|
|
"author": "",
|
|
"license": "MIT"
|
|
} |