Audiolab

tools.audiolab由 audiolab.tools 发布v0.5.0更新于 Oct 30, 2026

Loudness, true-peak and voice-quality analysis of URLs and local files via the hosted AudioLab API.

已验证STDIO仅桌面数据与分析媒体与设计

概览

AI 生成的概览

本地 stdio MCP 服务器,把音频 URL 或本地文件发送到托管的 AudioLab API,做响度、真峰值、频谱和语音质量分析。

可以做什么
  • 测量 URL 或本地文件的响度、真峰值、LRA、立体声与音色平衡
  • 按 Spotify、播客、广播等交付目标判定是否达标,给出各项偏差和修复命令
  • 获取随时间变化的响度与波形峰值、FFT 频谱和七段能量
  • 进行语音质检、语音片段、信号索引,以及 voice、master、provenance、room、pitch 等命名分析
  • 对两个音源做 A/B 对比,并在一次调用中批量处理最多 20 个音源
适用场景
适合需要判断母带、混音或人声录音质量的场景:检查文件是否符合流媒体或广播响度标准、判断某条录音是否可用,或对文件夹和整张发行做质检。
运行要求
需要 Node 18 或更高版本,通过 npx 运行,无需 ffmpeg 或原生依赖。可选设置 AUDIOLAB_API_KEY 提高额度,也可设置 AUDIOLAB_API_BASE 和 AUDIOLAB_TIMEOUT_MS。需要能访问 audiolab.tools 的网络。
安装前请注意
音频会上传到 audiolab.tools:URL 由服务端抓取,本地文件也会上传到 API,因此不会留在本机。无密钥时为试用模式,每 IP 每月 20 次调用、不支持批量、单文件不超过 4 MB。部分分析配置需要付费方案。本地路径输入仅在此 stdio 服务器中可用。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Audiolab,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

@audiolabtools/mcp-server

[Listed on mcpservers.org]

MCP (Model Context Protocol) server that gives any MCP-capable AI (Claude Desktop, Claude Code, Cursor, and others) ten audio-analysis tools, backed by the hosted AudioLab API. It is a thin HTTP client: no local audio engine, no ffmpeg, nothing to compile. It can measure a public URL or a local file on your machine, but the measuring always happens on the hosted API: the file is read here and uploaded there (see Privacy).

Install

Point your MCP client at the package via npx (nothing to install globally). No account needed for a first score:

json
{  "mcpServers": {    "audiolab": {      "command": "npx",      "args": ["-y", "@audiolabtools/mcp-server"]    }  }}

Without a key you are on the keyless trial: 20 calls a month and 3 a minute per IP address, for single analyses of a URL or a local file up to 4 MB. Batches and larger files need a key. A free key gives 1,000 calls and 2 GB a month, no card: sign in at https://audiolab.tools/account, generate one, and add it:

json
"env": { "AUDIOLAB_API_KEY": "al_live_yourkey" }

Requirements

  • Node ≥ 18: uses the built-in global fetch + AbortSignal.timeout.
  • Optionally an AUDIOLAB_API_KEY (see Install). No ffmpeg, no native dependencies.

Tools

Every tool takes one audio source: a public url or a local path:

  • { url: "https://…" }: a public https URL the API fetches server-side.
  • { path: "./mix.wav" }: a file on the machine running this server. Files up to 4 MB are sent inline; larger files (up to 150 MB) upload over a signed URL, are analysed, and are swept from storage within the hour. (Local path works only in this stdio server, not the remote /mcp endpoint.)
ToolReturns
analyze_loudnessIntegrated LUFS (EBU R128 / BS.1770-4), true-peak (dBTP), LRA, crest factor, stereo correlation, mono compatibility, tonal balance
check_targetPass/fail vs a delivery target (spotify / apple-music / youtube / tidal / amazon-music / podcast / ebu-broadcast / atsc-broadcast, or target:"custom" + lufs+tp), with per-metric deltas and an ffmpeg loudnorm fix command
analyze_timeseriesShort-term LUFS over time + downsampled waveform peaks (waveformPoints?)
get_spectrumFFT magnitude data + 7-band energies
analyze_voiceVoice QA: speech/silence ratio, speaking rate, SNR, noise floor, pause energy, sibilance & clipping risk
get_speech_segmentsVoiced regions with start/end + per-segment RMS (auto-trim, chapters)
index_signalContent-type guess, tags, clipping/silence regions, brightness & dynamics buckets
analyze_profileOne named question, voice, master, provenance, dataset, environment, broadcast, loop, room (reverberation from a clap, a pop, an impulse response or a sweep; pass roomSource), chain (lost packets) or pitch (where a voice sits and how clean it is), answered with only the lenses it needs. These ten need a paid plan; the free tier gets the basic profile, keyed by stable lens id. Add series:true for the curves, per-block lanes and per-phrase values. Carries a note when the profile’s voice lenses land on non-speech material. Full catalogue: https://audiolab.tools/lenses
compare_loudnessA/B on two sources (urlA/pathA + urlB/pathB), returns both results
analyze_batchOne route over up to 20 sources in a single call (urls and/or paths), per-item ok/data/error. For folder QA, library indexing, or checking a whole release against a target. Each item meters as one call

Example asks to your AI:

  • “Analyze the loudness of https://example.com/track.wav” → analyze_loudness with url
  • “Is this take usable?” → analyze_profile with profile:"voice"
  • “Has this file been re-encoded, and is it all one source?” → analyze_profile with profile:"provenance"
  • “Run loudness on ./master.wav” → analyze_loudness with path
  • “Does ./mix.mp3 pass Spotify?” → check_target with path + target:"spotify"

Configuration (env)

VarDefaultPurpose
AUDIOLAB_API_KEY– (optional)Your API key. Without it: the keyless trial (20 calls a month per IP, no batches, files up to 4 MB).
AUDIOLAB_API_BASEhttps://audiolab.tools/v1Override the API base (must be https://).
AUDIOLAB_TIMEOUT_MS330000Per-request timeout in milliseconds (long files and batches stream server-side and can legitimately take minutes).

Privacy

Analysis happens on the AudioLab API, so the audio does reach audiolab.tools: a url is fetched server-side, and a local path is read here and uploaded to the API (small files in the request body; larger files via a private one-shot signed upload into EU storage). The API returns numbers only and does not keep your audio: a direct request is decoded and discarded inside the request, and a signed upload is swept from storage within the hour (see https://audiolab.tools/privacy). This package has no telemetry and writes nothing to disk. There is no offline mode, and the engine is not published as an installable package. If audio must never leave the machine, don't use a hosted analyser; the in-browser labs on the website measure on-device, but they are for people, not for agents.

Limits

  • Local files: up to 150 MB (host bigger ones at a public URL).
  • Duration: loudness routes (analyze_loudness, check_target, analyze_timeseries, get_spectrum) handle long files (podcast episodes, full sets, up to ~3 h) via server-side streaming; voice/signal routes are limited to ~7 minutes.
  • One file per call (agents loop for many); one-shot (no streaming/realtime).
  • Rate and monthly limits are enforced by the API, per key (per IP address on the keyless trial).

Smoke test

sh
node hosted-server.mjs --selftest   # verifies the 10 tools + guards; no network

License

MIT © Nathan Renting

来源:README.md,提交 70a5654

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:服务器未能启动。

版本历史

8
  1. v0.5.0最新Oct 30, 2026
  2. v0.4.5Oct 20, 2026
  3. v0.4.4Oct 12, 2026
  4. v0.4.3Oct 12, 2026
  5. v0.4.2Oct 6, 2026
  6. v0.4.1Sep 26, 2026
  7. v0.4.0Sep 20, 2026
  8. v0.3.2Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分