{"_id":"@audiolabtools/ai-sdk","_rev":"3-f34272416eed8ab50f2f55d31903a164","name":"@audiolabtools/ai-sdk","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@audiolabtools/ai-sdk","version":"0.1.0","keywords":["ai-sdk","vercel-ai","audio","audio-analysis","loudness","ebu-r128","bs-1770","voice-quality","audiolab","tools"],"author":{"name":"Nathan Renting"},"license":"MIT","_id":"@audiolabtools/ai-sdk@0.1.0","maintainers":[{"name":"nrtainment","email":"npm@audiolab.tools"}],"homepage":"https://audiolab.tools/api","bugs":{"url":"https://github.com/Audio-Launch/audiolab-tools/issues"},"dist":{"shasum":"4821fa3f2b29b726328b4134b41bdcae139c129e","tarball":"https://registry.npmjs.org/@audiolabtools/ai-sdk/-/ai-sdk-0.1.0.tgz","fileCount":5,"integrity":"sha512-aG3vuxH2ONQn0DiReqLiMTGo6OKb+rUaUfPnXLhheKZLTlaYnzaA+UHcbzAYHTvKGabF5dYpwcxtSXI2nQNOmw==","signatures":[{"sig":"MEQCIG3tYXrL3t/rtMoxsxBalN/wfRbgyb8oASOAsKzbeb9KAiAQoNn414laKya2AOUgrnuLYsdsAXLxDES4qQRg0WLIKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23535},"main":"./index.mjs","type":"module","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs"}},"gitHead":"91fdebc16a6d557eb3cc316f76fdaa07f70f8df7","_npmUser":{"name":"nrtainment","email":"npm@audiolab.tools"},"repository":{"url":"git+https://github.com/Audio-Launch/audiolab-tools.git","type":"git","directory":"ai-sdk"},"_npmVersion":"11.11.0","description":"Vercel AI SDK tools for AudioLab — loudness, voice-quality, and signal analysis via the AudioLab hosted API.","directories":{},"_nodeVersion":"24.5.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"ai":"^6.0.0 || ^7.0.0","zod":"^3.0.0 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-sdk_0.1.0_1783103778626_0.5966701214938477","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@audiolabtools/ai-sdk","version":"0.1.1","keywords":["ai-sdk","vercel-ai","audio","audio-analysis","loudness","ebu-r128","bs-1770","voice-quality","audiolab","tools"],"author":{"name":"Nathan Renting"},"license":"MIT","_id":"@audiolabtools/ai-sdk@0.1.1","maintainers":[{"name":"nrtainment","email":"npm@audiolab.tools"}],"homepage":"https://audiolab.tools/api","bugs":{"url":"https://github.com/Audio-Launch/audiolab-mcp-server/issues"},"dist":{"shasum":"e5337fc7350205b7f7b258c2a1c42074a472c2e7","tarball":"https://registry.npmjs.org/@audiolabtools/ai-sdk/-/ai-sdk-0.1.1.tgz","fileCount":5,"integrity":"sha512-cwEs4xpmsOqqZuYN6u8tyfEF2sQtepRxrbIwkPrLxlfAdYLZkSmG/1HVXQjys3fwDLedUloWkGLrfrzX2OKDcg==","signatures":[{"sig":"MEQCIDc8POeJOOvFYTl6Qtjr9FtXcijEaLZiuxzRjGKWocBvAiBKs3zQTgqEsX58IQxupkAx7prhArGB+/A7s10K03b7cQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23673},"main":"./index.mjs","type":"module","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs"}},"gitHead":"0b921890ab1bdccf879860ad3e3f3a3e2a388b5d","_npmUser":{"name":"nrtainment","email":"npm@audiolab.tools"},"repository":{"url":"git+https://github.com/Audio-Launch/audiolab-mcp-server.git","type":"git"},"_npmVersion":"11.11.0","description":"Vercel AI SDK tools for AudioLab — loudness, voice-quality, and signal analysis via the AudioLab hosted API.","directories":{},"_nodeVersion":"24.5.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"ai":"^6.0.0 || ^7.0.0","zod":"^3.0.0 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-sdk_0.1.1_1785154881563_0.9096111572674048","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"_id":"@audiolabtools/ai-sdk@0.1.2","bugs":{"url":"https://github.com/Audio-Launch/audiolab-mcp-server/issues"},"dist":{"shasum":"b1293d8f6754aa41a7f8ae35bee62f0358ca60e6","tarball":"https://registry.npmjs.org/@audiolabtools/ai-sdk/-/ai-sdk-0.1.2.tgz","fileCount":5,"integrity":"sha512-sg5r16oecGBPytQ5IrZ6cfuTwTdoQRFCpLQcFPxnoSjdRryCziFQzhXtz/Rk7tprsK7SloRYdNaCrCBZ9ZyXaA==","signatures":[{"sig":"MEYCIQCxuNgPceflFTONtbyNZkwVtgfEEnXvg3ICOndlUvnZygIhAJPYD67zhT2/sI0SL7mVEETJ3157WZQ/piryD1kbrii3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCL+he10JLYE+qvY9hlw4zD3UqcihE0GT/2OtTZoQRAhwIgKQQdtIOEQLHShRxA7YI2y9cvvZQo260Zs7BmVZO4R3w="}],"unpackedSize":24297},"main":"./index.mjs","name":"@audiolabtools/ai-sdk","type":"module","types":"./index.d.ts","author":{"name":"Nathan Renting"},"module":"./index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs"}},"gitHead":"05f0e934e131cce3136509c5d09e4cf04072ed18","license":"MIT","version":"0.1.2","_npmUser":{"name":"nrtainment","email":"npm@audiolab.tools"},"homepage":"https://audiolab.tools/api","keywords":["ai-sdk","vercel-ai","audio","audio-analysis","loudness","ebu-r128","bs-1770","voice-quality","audiolab","tools"],"repository":{"url":"git+https://github.com/Audio-Launch/audiolab-mcp-server.git","type":"git"},"_npmVersion":"11.11.0","description":"Vercel AI SDK tools for AudioLab, loudness, voice-quality, and signal analysis via the AudioLab hosted API.","directories":{},"maintainers":[{"name":"nrtainment","email":"npm@audiolab.tools"}],"_nodeVersion":"24.5.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"ai":"^6.0.0 || ^7.0.0","zod":"^3.0.0 || ^4.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai-sdk_0.1.2_1790122143858_0.5782460599421024"}}},"time":{"created":"2026-07-03T18:36:18.397Z","modified":"2026-09-23T00:09:04.144Z","0.1.0":"2026-07-03T18:36:18.768Z","0.1.1":"2026-07-27T12:21:21.704Z","0.1.2":"2026-09-23T00:09:03.950Z"},"bugs":{"url":"https://github.com/Audio-Launch/audiolab-mcp-server/issues"},"author":{"name":"Nathan Renting"},"license":"MIT","homepage":"https://audiolab.tools/api","keywords":["ai-sdk","vercel-ai","audio","audio-analysis","loudness","ebu-r128","bs-1770","voice-quality","audiolab","tools"],"repository":{"url":"git+https://github.com/Audio-Launch/audiolab-mcp-server.git","type":"git"},"description":"Vercel AI SDK tools for AudioLab, loudness, voice-quality, and signal analysis via the AudioLab hosted API.","maintainers":[{"name":"nrtainment","email":"npm@audiolab.tools"}],"readme":"# @audiolabtools/ai-sdk\n\nAudio analysis as **Vercel AI SDK tools**: let your LLM check loudness, voice\nquality, and signal properties of any audio URL, with one import.\n\n```bash\nnpm install @audiolabtools/ai-sdk ai @ai-sdk/anthropic\n# (or @ai-sdk/openai, etc.: bring your own model)\n```\n\n```ts\nimport { generateText } from 'ai';\nimport { audiolab } from '@audiolabtools/ai-sdk';\nimport { anthropic } from '@ai-sdk/anthropic';\n\nconst result = await generateText({\n  model: anthropic('claude-opus-4-8'),\n  tools: audiolab({ apiKey: process.env.AUDIOLAB_API_KEY }).tools,\n  prompt: 'What is the loudness and true-peak of https://example.com/song.wav?',\n});\n\nconsole.log(result.text);\n```\n\nThe LLM picks the right tool from your prompt, calls AudioLab's hosted API, and\nfolds the structured response into its answer.\n\n## Tools\n\nEvery tool takes a public `http(s)` URL to an audio file; the AudioLab API\nfetches and decodes it server-side (nothing is uploaded by the caller).\n\n| Tool | Endpoint | Returns |\n|---|---|---|\n| `analyzeLoudness` | `POST /mixlab/analyze` | Integrated LUFS (EBU R128 / BS.1770-4), true-peak, LRA, crest factor, stereo correlation, tonal-balance bands |\n| `checkTarget` | `POST /mixlab/check-target` | Pass/fail vs a delivery target (spotify / apple-music / youtube / tidal / amazon-music / podcast / ebu-broadcast / atsc-broadcast, or `custom`), with deltas + an ffmpeg loudnorm fix |\n| `analyzeTimeseries` | `POST /mixlab/timeseries` | Short-term LUFS over time + downsampled waveform peaks |\n| `getSpectrum` | `POST /mixlab/spectrum` | FFT magnitudes + 7-band energies |\n| `analyzeVoice` | `POST /voicelab/qa` | Speech/silence ratio, speaking rate, SNR, noise floor, room echo, sibilance & clipping risk |\n| `getSpeechSegments` | `POST /voicelab/segments` | Voiced regions with start/end + per-segment RMS |\n| `indexSignal` | `POST /signallab/index` | Content-type guess, tags, clipping/silence regions, brightness & dynamics buckets |\n| `compareLoudness` | two `mixlab/analyze` calls | A/B: runs loudness on `urlA` + `urlB`, returns both |\n\nFull TypeScript types ship in `index.d.ts`, with autocomplete on every response field.\n\n## Configuration\n\n```ts\naudiolab({\n  apiKey?: string;   // AudioLab API key. Falls back to AUDIOLAB_API_KEY env var.\n  baseUrl?: string;  // Override base URL. Default: https://audiolab.tools/v1\n  fetch?: typeof fetch;  // Custom fetch (for testing / proxying).\n})\n```\n\nUse one tool instead of all eight:\n\n```ts\nconst { analyzeLoudness } = audiolab({ apiKey }).tools;\nawait generateText({ model, tools: { analyzeLoudness }, prompt: '...' });\n```\n\n## Status\n\nThe hosted API is **live with self-serve keys** (free tier + paid tiers, Stripe\nbilling live). Sign in at <https://audiolab.tools/account> to get a key. Prefer to\ntry before wiring it up? The on-device playground at\n<https://audiolab.tools/api#playground> runs the same analysis in your browser\n(no signup, no upload).\n\n## License\n\nMIT © Nathan Renting\n","readmeFilename":"README.md"}