{"_id":"@amsvs/api","_rev":"8-876d94ead580f297c611d7be81a4b6a2","name":"@amsvs/api","dist-tags":{"latest":"1.3.4"},"versions":{"1.0.0":{"name":"@amsvs/api","version":"1.0.0","keywords":["amadeus","plugin","amsvs"],"author":{"url":"https://stdpi.work","name":"stdpi","email":"amsvs@stdpi.work"},"license":"UNLICENSED","_id":"@amsvs/api@1.0.0","maintainers":[{"name":"stdpi","email":"npm@stdpi.work"}],"dist":{"shasum":"b98e549339739173ce64856a4c6553175daeeaab","tarball":"https://registry.npmjs.org/@amsvs/api/-/api-1.0.0.tgz","fileCount":5,"integrity":"sha512-x1APknOJWs6wqX4xkVY3KDpPmcMG4QQwLaGmZ09ltLr/mOQ64cP4GKsbvsLvptRwk950hcnxHrbd9ks5iRo8cA==","signatures":[{"sig":"MEUCIQC6t0jlCeDC9k++sO5UxBEHB5mcZB6FCetkzadimQhC4gIgfvOpQ5FIHDKCNRVuhJaAJdDw3bWEtuonAkpbtK+5Ud8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45440},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"17f6cc935f4e8ffa68e36d1d139e511a3a7fe069","private":false,"scripts":{},"_npmUser":{"name":"stdpi","email":"npm@stdpi.work"},"_npmVersion":"12.0.2","description":"Amadeus Studio Plugin API","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/api_1.0.0_1786171499361_0.4138445713767607","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@amsvs/api","version":"1.1.0","keywords":["amadeus","plugin","@amsvs/api"],"author":{"url":"https://stdpi.work","name":"stdpi","email":"amsvs@stdpi.work"},"license":"UNLICENSED","_id":"@amsvs/api@1.1.0","maintainers":[{"name":"stdpi","email":"npm@stdpi.work"}],"dist":{"shasum":"073340198827202304c104f9e5b794370eab76a6","tarball":"https://registry.npmjs.org/@amsvs/api/-/api-1.1.0.tgz","fileCount":5,"integrity":"sha512-lsETPxTpyhHw94QwNIHgvgF6K7ZZDs36MQWp2NQPoDQv+ezZy7KhLTv1UwI0EuF46n2iXg/wlOyJGntC3dQ0Cw==","signatures":[{"sig":"MEUCIQC/mFMXkbYwMFLzdLhNgG5DZbeNy733G4CuL56FQNlrswIgcMsZoyLmIhXhI3IOFPeO1iQ3AJKZOuzRGaaQlmahzjo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45936},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"eb5d656d1f480efb998519460bddb571767bcc3c","private":false,"scripts":{},"_npmUser":{"name":"stdpi","email":"npm@stdpi.work"},"_npmVersion":"12.0.2","description":"Amadeus Studio Plugin API","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/api_1.1.0_1786698135101_0.28176916229874305","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@amsvs/api","version":"1.1.1","keywords":["amadeus","plugin","@amsvs/api"],"author":{"url":"https://stdpi.work","name":"stdpi","email":"amsvs@stdpi.work"},"license":"UNLICENSED","_id":"@amsvs/api@1.1.1","maintainers":[{"name":"stdpi","email":"npm@stdpi.work"}],"dist":{"shasum":"737c1443a7326c562cffbd9f2c26a4d2e813bf00","tarball":"https://registry.npmjs.org/@amsvs/api/-/api-1.1.1.tgz","fileCount":5,"integrity":"sha512-jYTY/4aq/C61YblXjNUIcIB1hDR18rroddoVZwfu6E0kiaAdHTL1NncQ11vdYfzfMgo5hPYZQZVZ4NWVFRuKBA==","signatures":[{"sig":"MEUCIHfMjYnbLDm52gzeOblbs4UMeXkQORIW2M/NQa1SnWhxAiEAtfO2hsyRq0VLDUoqAB0qlSO+jFHw5h5RF2RmiGM2ILw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49556},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"4b33626ba602bd4c460701d534690a59b09c2096","private":false,"scripts":{},"_npmUser":{"name":"stdpi","email":"npm@stdpi.work"},"_npmVersion":"12.0.2","description":"Amadeus Studio Plugin API","directories":{},"sideEffects":false,"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/api_1.1.1_1788424537744_0.23626126931236624","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@amsvs/api","version":"1.2.1","keywords":["amadeus","plugin","@amsvs/api"],"author":{"url":"https://stdpi.work","name":"stdpi","email":"amsvs@stdpi.work"},"license":"UNLICENSED","_id":"@amsvs/api@1.2.1","maintainers":[{"name":"stdpi","email":"npm@stdpi.work"}],"dist":{"shasum":"2e8873759a859a3f52ba18f5a4658e65cb8bee8a","tarball":"https://registry.npmjs.org/@amsvs/api/-/api-1.2.1.tgz","fileCount":5,"integrity":"sha512-fR88ghs10dBX3PQPOO0YMaOymciCTgJPSCO+PtzTbxnoJq2LnQCJqb7RMMn8baZk8kotPLIXKqmKyekHzRvACg==","signatures":[{"sig":"MEUCIQD5rmWtmX70KEgRXIKc3jnIVagM4H8c2l1xZp18/SQEoQIgYhCwM4lDSeWfFiEjrbONVsOg2QV1+VHZNEdEeeNisnk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51431},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"4b33626ba602bd4c460701d534690a59b09c2096","private":false,"scripts":{},"_npmUser":{"name":"stdpi","email":"npm@stdpi.work"},"_npmVersion":"12.0.2","description":"Amadeus Studio Plugin API","directories":{},"sideEffects":false,"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/api_1.2.1_1788437594184_0.44068809992404634","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@amsvs/api","version":"1.2.2","keywords":["amadeus","plugin","@amsvs/api"],"author":{"url":"https://stdpi.work","name":"stdpi","email":"amsvs@stdpi.work"},"license":"UNLICENSED","_id":"@amsvs/api@1.2.2","maintainers":[{"name":"stdpi","email":"npm@stdpi.work"}],"dist":{"shasum":"22ba5d4e1d264fe4a08636bcfa9d7635c172b7c1","tarball":"https://registry.npmjs.org/@amsvs/api/-/api-1.2.2.tgz","fileCount":5,"integrity":"sha512-pkVO6bGhBLVlh8GonsLTwQBs1P6d44eJBTZAnz6hbtvijn02vYtuka6kHl31f9GPuedYXd5mj9G2kPLU8Dsn3A==","signatures":[{"sig":"MEUCIQCWnXfjGGIk8certA0L6kEDWHyGpsaWkYKgSsRdgo2i0QIgWgPbsCoL2hrhetyUaaBGyMbsGViZlyfVYDHazqw15FQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55562},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"4b33626ba602bd4c460701d534690a59b09c2096","private":false,"scripts":{},"_npmUser":{"name":"stdpi","email":"npm@stdpi.work"},"_npmVersion":"12.0.2","description":"Amadeus Studio Plugin API","directories":{},"sideEffects":false,"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/api_1.2.2_1788438974512_0.45865540490592505","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@amsvs/api","version":"1.2.3","keywords":["amadeus","plugin","@amsvs/api"],"author":{"url":"https://stdpi.work","name":"stdpi","email":"amsvs@stdpi.work"},"license":"UNLICENSED","_id":"@amsvs/api@1.2.3","maintainers":[{"name":"stdpi","email":"npm@stdpi.work"}],"homepage":"https://am.stdpi.work","dist":{"shasum":"53da84a2f8025b36b254827f6dacb38f65d00df6","tarball":"https://registry.npmjs.org/@amsvs/api/-/api-1.2.3.tgz","fileCount":5,"integrity":"sha512-3eDsuwYTmf+2q+IohlSUM7Ms11fe770mubx24Gpn2HxpW306g4O6TqvnKSkbOJ2tzx7CfC3biyuLAF5z+GOaeg==","signatures":[{"sig":"MEUCIQDI0byxjEZzgbMBumlEumGvZsZ/ogiHmpF8iJzI/6aRNQIgHzLRWMU2iM+2K0qDJvDSAq8q0OjHyDyykToZbWFATOo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55427},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"4b33626ba602bd4c460701d534690a59b09c2096","private":false,"scripts":{},"_npmUser":{"name":"stdpi","email":"npm@stdpi.work"},"_npmVersion":"12.0.2","description":"Amadeus Studio Plugin API","directories":{},"sideEffects":false,"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/api_1.2.3_1788440923103_0.8020414921868579","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@amsvs/api","version":"1.3.3","keywords":["amadeus","plugin","@amsvs/api"],"author":{"url":"https://stdpi.work","name":"stdpi","email":"amsvs@stdpi.work"},"license":"UNLICENSED","_id":"@amsvs/api@1.3.3","maintainers":[{"name":"stdpi","email":"npm@stdpi.work"}],"homepage":"https://am.stdpi.work","dist":{"shasum":"ae4434ffba3de12de0fc441456498a4c7bc91db7","tarball":"https://registry.npmjs.org/@amsvs/api/-/api-1.3.3.tgz","fileCount":5,"integrity":"sha512-rk5BkHjUJCJT1iQ6dpYYr3g34EBmoVQruxcxObx2z0pWfUeKV6a9YVuKtnKv3TN8/lHgYNPer/NDVsUzNePy1A==","signatures":[{"sig":"MEQCICuJGaB8Yore/MxHz+A0oiSqB3KAcc6yRKFm32H+LgrHAiAcdY+V9gtK7H4fmSu1/2/pMop2OPgtHTPltc/bVZbnOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57514},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"4b33626ba602bd4c460701d534690a59b09c2096","private":false,"scripts":{},"_npmUser":{"name":"stdpi","email":"npm@stdpi.work"},"_npmVersion":"12.0.2","description":"Amadeus Studio Plugin API","directories":{},"sideEffects":false,"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/api_1.3.3_1788442539958_0.2522472814457324","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"@amsvs/api","version":"1.3.4","description":"Amadeus Studio Plugin API","private":false,"type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","homepage":"https://am.stdpi.work","author":{"name":"stdpi","email":"amsvs@stdpi.work","url":"https://stdpi.work"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"sideEffects":false,"keywords":["amadeus","plugin","@amsvs/api"],"license":"UNLICENSED","scripts":{},"engines":{"node":">=18"},"devDependencies":{"@types/bun":"^1.3.14"},"gitHead":"4b33626ba602bd4c460701d534690a59b09c2096","_id":"@amsvs/api@1.3.4","_nodeVersion":"26.8.1","_npmVersion":"12.0.2","dist":{"integrity":"sha512-F7NRzx7GNPGoH4p9w7oEJswv3MMrDQv3YvUy4ca3TrYuwRRyHSp6V8yxgK3cCdsGkX/CqRQhA9DfHWJabHvzGA==","shasum":"96e404ccc79a1004d70470c9cf374eafb0215c3b","tarball":"https://registry.npmjs.org/@amsvs/api/-/api-1.3.4.tgz","fileCount":5,"unpackedSize":58847,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE97pUb2pacZFOrics5W8oTyWONARqhd69tOW5tT2Uy0AiEAnwNhlvMrq/cLwyztSCChR6mgDS50TMBhP+5l7FBoW9I="}]},"_npmUser":{"name":"stdpi","email":"npm@stdpi.work"},"directories":{},"maintainers":[{"name":"stdpi","email":"npm@stdpi.work"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/api_1.3.4_1788450523221_0.8485792707843027"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-08T06:44:59.162Z","modified":"2026-09-03T15:48:43.530Z","1.0.0":"2026-08-08T06:44:59.500Z","1.1.0":"2026-08-14T09:02:15.248Z","1.1.1":"2026-09-03T08:35:37.901Z","1.2.1":"2026-09-03T12:13:14.326Z","1.2.2":"2026-09-03T12:36:14.653Z","1.2.3":"2026-09-03T13:08:43.242Z","1.3.3":"2026-09-03T13:35:40.143Z","1.3.4":"2026-09-03T15:48:43.362Z"},"author":{"name":"stdpi","email":"amsvs@stdpi.work","url":"https://stdpi.work"},"license":"UNLICENSED","homepage":"https://am.stdpi.work","keywords":["amadeus","plugin","@amsvs/api"],"description":"Amadeus Studio Plugin API","maintainers":[{"name":"stdpi","email":"npm@stdpi.work"}],"readme":"# Amadeus SVS SDK\n\nThe API and SDK for Amadeus Studio plugins. Moving onto our [homepage](https://am.stdpi.work) for more information, documentation, application manual and so much more. \nThe API now includes the latest type definition of internal schema, which did not included because of my oversight. \nIn extra, starting from 1.2.1 requires `beta.3` runtime that announce its schema version. \n\n---\n\n## 🚀 Quickstart\n\nScaffold a complete, ready-to-build Amadeus Studio plugin with `create-amadeus-plugin`:\n\n```bash\n# With Bun (Recommended)\nbun create amadeus-plugin my-vocal-plugin\n\n# With npx / npm\nnpx create-amadeus-plugin my-vocal-plugin\n```\n\nor simply adding this package?\n\n---\n\n## 💡 Authoring Plugins\n\nPlugins use the builder API `plugin(\"plugin.id\")`. Entry points bundle into a standalone IIFE JS file.\n\nPackage files declared in `plugin.toml` are preloaded as immutable `ArrayBuffer`s:\n\n```toml\n[fs]\natyo = \"kem.bin\"\nsylo = \"kun.jsonb\"\n```\n\n```ts\nconst model = file[\"plugin.id\"][\"atyo\"];\n```\n\n### Basic Effect Example\n\n```ts\nimport { param, plugin } from \"@amsvs/api\";\n\nplugin(\"studio.vibrato-boost\")\n  .name(\"Vibrato Boost\")\n  .version(\"1.0.0\")\n  .params(\n    {\n      depth: param.number({\n        default: 0.5,\n        min: 0,\n        max: 1,\n        label: \"Depth\",\n        help: \"Vibrato amplification factor\",\n        cacheScope: \"f0_and_later\",\n      }),\n    },\n    { label: \"Effect Settings\", stages: [\"pitch\"] },\n  )\n  .hooks({\n    stage: \"post_pitch\",\n    postPitch(ctx) {\n      const depth = this.params.depth;\n      if (depth === 0) return ctx.f0;\n\n      const f0 = new Float32Array(ctx.f0);\n      for (let i = 0; i < f0.length; i++) {\n        if (f0[i] > 0) {\n          // Amplify voiced pitch contour\n          f0[i] = f0[i] * (1 + depth * 0.05);\n        }\n      }\n      return f0;\n    },\n  })\n  .register();\n```\n\n## 🛠️ Parameter Schema (`param.*`)\n\nUse `param.*` field factories to define interactive controls for the Amadeus inspector panel:\n\n| Factory | Type | Common Options |\n|---|---|---|\n| `param.number(...)` | `number` | `default`, `min`, `max`, `step`, `label`, `help`, `cacheScope` |\n| `param.integer(...)` | `number` | `default`, `min`, `max`, `step`, `label`, `help`, `cacheScope` |\n| `param.boolean(...)` | `boolean` | `default`, `label`, `help`, `cacheScope` |\n| `param.string(...)` | `string` | `default`, `label`, `help`, `cacheScope` |\n| `param.choice(...)` | `string` | `default`, `choices: [...]`, `label`, `help`, `cacheScope` |\n\n### Multi-Group Parameter Configuration\nSuccessive `.params()` calls group controls into distinct inspector sections:\n\n```ts\nplugin(\"studio.custom-fx\")\n  .params(\n    {\n      algorithm: param.choice({ choices: [\"smooth\", \"sharp\"], default: \"smooth\" }),\n    },\n    { label: \"General Settings\", stages: [\"plan\"] }\n  )\n  .params(\n    {\n      shiftCents: param.number({ default: 0, min: -100, max: 100, label: \"Detune (cents)\" }),\n    },\n    { label: \"Pitch Tuning\", stages: [\"pitch\"] }\n  )\n```\n\nInside plugin hooks, `this.params` provides fully typed access to all declared parameters (`this.params.algorithm`, `this.params.shiftCents`).\n\n## 🪝 Pipeline Hooks\n\n### Post-Pitch Processing (`post_pitch`)\nInvoked after pitch inference. Receives the raw F0 series (in Hz) along with timing and label metadata:\n\n```ts\nhooks({\n  stage: \"post_pitch\",\n  postPitch(ctx) {\n    // ctx.f0          -> Float32Array of F0 in Hz (0 = unvoiced)\n    // ctx.scoreF0     -> Float32Array target pitch from score\n    // ctx.alignment   -> Phoneme index array (1-based) per 10ms frame\n    // ctx.labels      -> Array of note/phoneme summary objects\n    return ctx.f0;\n  }\n})\n```\n\n---\n\n## 📜 Target Runtime Boundary\n\nPlugin bundles are evaluated inside Amadeus Studio using the **QuickJS-ng** engine. Ensure your bundler targets `ES2023` to guarantee runtime compatibility.\n\n## 🛠️ Contributions\n\nThis module is generated. Once source disclosure happens, you will know!\n\nIn meantime, any idea can be notified!\n","readmeFilename":"README.md"}