录音里有哪些声音?用 YAMNet 识别声学事件并回听核对

用 YAMNet 对 16 kHz 单声道 WAV 列出声音事件候选,回听核对类别和短事件漏检。

录音里是猫叫、讲话还是机器噪声,可用 YAMNet 先做声音事件分类,再回听核对。它预测的是 AudioSet 类别,不会把语音转成文字,也不会知道声音来自哪一只猫或哪台设备。先用一条合法的短 WAV 验证前处理,再决定是否用于批量素材筛查。

确认输入是 16 kHz 单声道 PCM

TensorFlow 官方教程要求 16 kHz 单声道 WAV,送入模型前把 16 位整数波形归一化到约 -1 至 1。下例假定 sample.wav 已满足这些条件,遇到其他采样率、立体声或 32 位浮点格式会明确报错,而不悄悄误喂模型。

录音里有哪些声音?用 YAMNet 识别声学事件并回听核对

python -m pip install tensorflow tensorflow-hub scipy numpy

跑通分类并打印候选

import csv
import numpy as np
import tensorflow as tf
import tensorflow_hub as hub
from scipy.io import wavfile

sr, pcm = wavfile.read("sample.wav")
if sr != 16000 or pcm.ndim != 1 or pcm.dtype != np.int16:
    raise ValueError("需要 16 kHz、单声道、16-bit PCM WAV")
waveform = pcm.astype(np.float32) / 32768.0
model = hub.load("https://tfhub.dev/google/yamnet/1")
with tf.io.gfile.GFile(model.class_map_path().numpy()) as f:
    labels = [row["display_name"] for row in csv.DictReader(f)]
scores, embeddings, spectrogram = model(waveform)
means = scores.numpy().mean(axis=0)
for index in np.argsort(means)[-5:][::-1]:
    print(labels[index], round(float(means[index]), 3))

保存为 classify_sound.py 后运行。首次执行需要下载模型;终端应列出五个类别及分数,而不是只有一行“识别成功”。官方教程对帧分数取平均得到整段候选;如果只有前半段有猫叫、后半段是车声,整段平均可能掩盖短事件,应截取有代表性的片段另跑。

回听与判断边界

把前五名标签与实际录音对照,记录听得到的事件和模型误报。例如机器运转声被列成交通噪声时,不能直接用标签入库。分数只是相对候选强度,不能当“猫叫概率 90%”宣传。换一条不同环境的短样片重复,检查是否把背景声当作主事件。

本例没有实测准确率;TensorFlow 官方教程展示的是声音事件类别而不是语音内容或声纹身份。若需要逐秒定位事件,应依据每帧分数和真实时间轴另做标注与回听,不能把整段平均类别当成所有时刻都发生。

来源与适用范围

以下官方资料核对于 2026 年 10 月 1 日。界面、模型和许可如有变化,以打开时的官方页面为准。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/31793.html

赞 (0)
AI小管家的头像AI小管家
AI 语音克隆如何工作?从录音样本到合成结果核对
上一篇 2026年10月1日 下午9:27
语音活动检测怎么做?用 Silero VAD 标出讲话区间并回听
下一篇 2026年10月1日 下午9:27

相关推荐

  • Claude数学建模如何从问题拆解到模型构建

    Claude数学建模的价值,不是直接生成一组看似完整的公式,而是帮助使用者把自然语言问题转换成可分析、可计算、可验证的结构。面对“如何提高效率”“如何合理分配资源”这类表述,第一步应先明确研究对象、决策目标、可用数据、限制条件和最终评价标准。

    11小时前
    200
  • claude教学:从提问到整理资料的AI使用步骤

    Claude更适合承担需要阅读、比较、归纳和改写的工作。面对一份较长的会议记录、调研材料、项目文档或多轮沟通内容,它可以帮助你提炼主题、识别章节结构、抽取关键事实,并将零散信息重新组织成摘要、提纲、表格或行动清单。它也适合用于邮件改写、报告初稿、问答整理和不同语气之间的转换。

    11小时前
    300
  • claude数学能解决哪些题型?从提问到验算的使用指南

    claude数学更适合被当作一个会解释、会追问、能协助检查的数学助手,而不是只负责吐出最终数字的计算器。它可以帮助用户读懂题意、整理已知条件、选择公式、展示推导步骤,也能根据用户提供的解答寻找计算或逻辑上的漏洞。

    11小时前
    200
  • claude教科书中的AI对话使用场景与操作步骤

    本文把“claude教科书”作为学习AI对话方法的主题表达,不把未提供的书籍章节、作者观点、官方功能或具体版本当作已知事实。真正值得掌握的,不是背下一句所谓万能提示词,而是建立一套可重复的对话流程:先明确目标,再补充背景,随后规定输出方式,最后检查结果。

    11小时前
    200
  • claude数学公式怎么用 从文字描述到规范公式的操作步骤

    使用Claude处理数学公式,关键不是直接输入“帮我写公式”,而是把题意中的变量、条件、运算关系和输出格式交代清楚。自然语言往往省略主语、范围或单位,如果这些信息没有说明,生成结果就可能在符号定义、括号范围或等号两侧的逻辑上出现偏差。

    11小时前
    200
联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部