You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从本地项目文件加载Teachable Machine音频模型

Teachable Machine 音频离线模型加载方案

speech-commands库的create()方法本身就支持本地路径加载,不需要额外找独立的load()方法,代码跑不通通常是两个核心问题:参数传位错误、本地运行环境不符合要求。

修正后的实现代码

async function createModel() {
  // 参数顺序不要错:
  // 1. 音频特征提取类型,固定用BROWSER_FFT即可
  // 2. 基础模型配置,传undefined代表不使用官方预训练的基础词库
  // 3. 自定义model.json的相对路径
  // 4. 自定义metadata.json的相对路径
  const recognizer = await speechCommands.create(
    'BROWSER_FFT',
    undefined,
    './model.json',
    './metadata.json'
  );
  // 等待模型权重完全加载完成再返回
  await recognizer.ensureModelLoaded();
  return recognizer;
}

必须满足的运行条件

  • 文件要齐全:从Teachable Machine导出音频模型包时,除了model.json和metadata.json,必须把包内的weights.bin权重文件一起解压到和代码引用路径一致的目录下,缺任何一个文件都会加载失败。
  • 禁止用file://协议直接打开本地HTML文件:浏览器跨域安全策略会拦截本地文件读取,必须启动本地静态文件服务访问页面,比如用VS Code的Live Server插件,或者在项目目录执行npx serve .启动服务后,通过localhost地址访问。

加载成功验证

模型初始化完成后,调用recognizer.wordLabels(),如果返回的是你自己训练的自定义类别标签,就代表离线模型加载正常,可以直接开始识别调用。

内容的提问来源于stack exchange,提问作者DrWalrus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 17:18:07