警报声音识别

SKILL生活服务
生活服务 未标注权限 许可证不明确
安装这个技能

分辨各种警报,学习不同场景下对应的警报,如空袭警报、救护车声音、警车声音等。使用户听到该警报时针对性的采取应对措施。

一句话选型结论

按资料字段整理

警报声音识别是生活服务类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类生活服务 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_44ea7ed4/sound-recognition
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

生活服务
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_44ea7ed4仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量9.6 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
行程与攻略

按目的地和天数排行程。

日常信息查询

查天气、交通、办事信息。

生活事务整理

把琐事整理成清单逐项处理。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在生活服务场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
警报声音识别当前 未标注权限 未标注 未标注 未标注 有
食谱批量下载文件夹 联网访问 GitHub 仓库 28.5 万 Codex、Claude、Cursor 有
食谱创建演示文稿 未标注权限 GitHub 仓库 28.0 万 Codex、Claude、Cursor 有
recipe 备份 sheet AS CSV 联网访问 GitHub 仓库 27.9 万 Codex、Claude、Cursor 有
recipe create Gmail filter 邮件管理 未标注权限 GitHub 仓库 27.8 万 Codex、Claude、Cursor 有
配方观察驱动器变化 联网访问 GitHub 仓库 27.4 万 Codex、Claude、Cursor 有

SKILL.md 全文

9.6 KB
模型实际读到的说明书原文,来自技能仓库

公共警报声音识别 · 专家技能

适用对象与核心约定

本技能服务于仓库 sound-recognition(默认工作路径 D:\WorkBuddy\sound-recognition,pnpm + turbo monorepo,6 个 package)。动手前先记住四条不可违背的架构约定:

  1. 不内置音频文件:小程序体积受限,所有声音样板由 utils/audio-synth.ts 实时合成 PCM(16kHz、单声道),试听与识别同源——改 AudioSpec 会同时改变听感和识别结果。
  2. 本地离线优先:识别全程在端上完成(utils/recognizer.ts),云端只是增强;任何功能都必须有离线兜底,不得把结论完全交给网络。
  3. 安全语义优先:这是应急科普工具。识别不确定时必须明确"存疑"并提示以官方发布与现场指挥为准;行动指南区分「立即 / 后续 / 禁止」三类,禁止编造标准号与处置流程。
  4. 改数据即改行为:data/sounds.ts 既是展示数据,也是识别引擎的比对基准。新增一条声音等于往分类器里加一类,必须过识别测试。

项目地图(详见 references/project-map.md)

位置 职责
apps/miniprogram 微信小程序(首页/声音库/详情/识别/学习/求助 6 页 + utils + data + tests)
apps/web React + Vite 前端骨架(尚未完善)
packages/shared-types 全仓共享类型、常量、Zod schema
packages/shared-algorithms 共享 DSP / 特征提取 / 分类算法
packages/inference-engine 推理引擎抽象层(TFJS / ONNX / TFLite / Cloud 适配器)
services/cloudbase 云函数:sounds recognize user_progress model_management ai_answer

常用命令(仓库根目录,turbo 并行):

pnpm run typecheck   # 全仓 tsc --noEmit
pnpm run lint        # ESLint flat config
pnpm run test        # 全仓 vitest run
pnpm run build       # 全仓构建

只跑小程序测试:cd apps/miniprogram && npx vitest run tests/audio.test.ts(约 16 秒,含 60 种样板识别 + 鲁棒性)。

工作流 A:扩充或修改声音库

步骤

  1. 查清单:node scripts/soundlib.mjs report --category <分类> 查看现有参数分布,避免撞车。
  2. 选参数:按下面的"参数选型规则"挑一组(频率、波形、模式、鸣/停),优先避开已有(主频 ±13% 内、节奏 ±20% 内)的组合。
  3. 预检:node scripts/soundlib.mjs check --spec &#x27;&lt;json&gt;&#x27;(或 --candidates file.json)。脚本复刻识别引擎打分,输出候选与现有 60 条的双向相似度,并按"与自身得分的分差"判风险(分差 <0.12 危险 / <0.3 警戒 / 其余安全)。先预检再写数据,能省掉反复跑测试的十几秒。
  4. 写条目:从 assets/new-sound-entry.ts 复制模板,填入 PresetSound 全部字段(字段规范见 references/sound-library.md)。
  5. 体检:node scripts/soundlib.mjs verify 检查字段完整性、取值合法性与组合约束。
  6. 跑测试:npx vitest run tests/audio.test.ts tests/sounds.test.ts,确认新声音 top-1 正确且 confident === true(含噪声、音量衰减、中途起录三种扰动)。
  7. 回归:pnpm run typecheck &amp;&amp; pnpm run lint &amp;&amp; pnpm run test &amp;&amp; pnpm run build。

参数选型规则(经验值)

  • 主频:buzzer/bell harmonics 丰富,适合 1000Hz 以上;pure 适合"叮咚"类双音;speech(语音广播)必须落在 500–950Hz——高于约 1000Hz 时主频检测会漂移到其他频段,导致该声音识别不到自己(历史事故:sv_heat_wave 曾用 1400Hz,实测主频被检成 880Hz)。
  • 节奏:on/off 是区分度最高的维度。新声音尽量让 on 与 off 与所有同类信号在 log2 尺度上拉开 2 倍以上;实在拉不开就换主频。
  • 双音:twoTone(持续交替,off: 0)靠 freq + altFreq 区分,注意 altFreq 与主频的比值不要与已有双音雷同;chime(叮咚)靠 freq + altFreq + on/off,同节奏的 chime 极易混淆(历史事故:880Hz/0.5-0.5 与既有 900Hz/0.5-0.5 只差分差 0.076,达不到 0.12 阈值)。
  • continuous(长鸣,off: 0)与 pulse 类靠"有无停顿"区分,长鸣之间只能靠频率拉开。
  • 语义不重复:新增前先检索名称与标签,避免与既有条目语义重复(历史事故:新增"铁路道口警报"与既有"铁道口警示"重复)。

已收录 60 条的完整参数

见 references/sound-library.md(含每条的主频、波形/模式、鸣停、紧急度)。

工作流 B:识别引擎调优与误判排查

引擎在 apps/miniprogram/utils/recognizer.ts,核心是"特征提取 + 五维加权几何平均打分":

维度 权重 要点
频率 freqScore 0.30 gauss(log2(观测/标准), σ=0.13);扫频按中心频率 σ=0.25 并比对跨度;双音需匹配第二音高
音色 toneScore 0.10 规格没写双音却观测到第二音高 → 0.5,反之 0.45
鸣时长 onScore 0.20 gauss(log2(观测/标准), σ=0.6);只观测到截断段时按下界处理(超长即视为矛盾)
间隔 gapScore 0.25 同上;连续长鸣出现停顿会被重罚
模式 patternScore 0.15 continuous / pulse / twoTone / sweep / countdown / chime 各自的形态判据

判定门槛:ACCEPT_SCORE = 0.62、MARGIN = 0.12(与次优候选的分差)、MIN_TONALITY = 2.2(低于此值视为环境噪声,不给结论)、CONFIRM_RATIO = 0.6(录音短于周期 0.6 倍时提示延长监听)。

排查步骤:

  1. 复制 assets/diagnose.test.ts 到 apps/miniprogram/tests/,用 vitest 跑它,打印每个声音的 top-1、次优与分差,以及实际观测到的 dominantFreq / secondFreq / onDurations / offDurations。
  2. 判读:
    - top-1 不是自己 → 参数撞车,按工作流 A 改参数(优先改节奏,其次改频率)。
    - top-1 正确但 confident=false → 分差不足或自身得分不足 0.62;拉大与次优的频率或节奏距离。
    - 观测主频与 spec.freq 差很远 → 合成波形或频段选得不对(语音类最常见)。
  3. 改完删掉诊断文件,跑完整测试。

更多细节与调参陷阱见 references/recognition-engine.md。

工作流 C:AI 问答与 API Key

求助页问答按三级降级,任何一级失败都不许给用户空白答案:

  1. 自备 AI(utils/ai.ts):用户在求助页「AI 设置」里填接口地址 / API Key / 模型名,密钥只存本机 storage(key sr_ai_settings),客户端直连 OpenAI 兼容的 /chat/completions(30 秒超时,401/404/429 等有中文可读提示)。
  2. 云端:utils/cloud.ts 调云函数 ai_answer 的 answer action(需在 CloudBase 部署并配置大模型)。
  3. 本地:utils/ask.ts 的 answerLocal 知识库结论,永不失败。

扩展点:新增模型/厂商只需改 utils/ai.ts 的 DEFAULT_AI_SETTINGS 与 normalizeBaseUrl;改提示词改 AI_SYSTEM_PROMPT(务必保留"不确定要说明、以官方发布为准"的约束)。详见 references/ai-question-answering.md。

代码规范速查(最容易踩的三条)

  • ESLint curly: [&quot;error&quot;, &quot;all&quot;]:单行 if 也必须写大括号;项目里普遍写成 if (x) {return y;} 的一行式。
  • @typescript-eslint/consistent-type-imports: error:类型必须用 import type { X } from &#x27;...&#x27;。
  • Prettier:单引号、2 空格、行宽 100、尾分号、LF 换行;no-console 仅允许 warn/error/info。

小程序端 tsconfig 是 CommonJS + noImplicitAny: false,与其他包(ESM、严格)不同,跨包复制代码时注意差异。测试里没有全局 setup,wx 由各测试文件自行 mock,模板见 assets/wx-mock.ts 与 references/workflows-and-testing.md。

资源索引

资源 用途
scripts/soundlib.mjs 声音库清单 / 字段体检 / 新增参数冲突预检(纯 Node,无需构建)
scripts/validate-plugin.mjs 插件包自检:plugin.json、SKILL.md frontmatter、文档相对引用(上传前跑)
references/project-map.md 目录结构、包职责、命令、配置约束、云函数清单
references/sound-library.md 60 条声音全表、PresetSound 与 AudioSpec 字段规范
references/recognition-engine.md 特征提取、五维打分、阈值、调参陷阱、诊断流程
references/ai-question-answering.md 三级降级、自备 API Key、云函数与测试 mock
references/workflows-and-testing.md 测试清单、wx mock 三档模板、发布检查表
assets/new-sound-entry.ts 新声音条目模板(含全部字段与注释)
assets/diagnose.test.ts 识别诊断测试模板(打印 top-1 / 次优 / 分差 / 观测特征)
assets/wx-mock.ts 三档 wx 环境 mock 模板

常见问题

5 问
答案由本站依据条目字段整理
警报声音识别怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_44ea7ed4/sound-recognition。安装方式为未标注。装完刷新技能列表或重开客户端。

警报声音识别支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

警报声音识别权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

警报声音识别收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

警报声音识别用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。