我成功使用了 ml5 的音高检测功能:
- 教程:https ://ml5js.org/reference/api-PitchDetection/
- 型号:https ://cdn.jsdelivr.net/gh/ml5js/ml5-data-and-models/models/pitch-detection/crepe/
问题:
没有检测到高于 ±2000Hz 的音高。我尝试了多种设备并检查了声音在声波图中是否可见,因此这似乎不是麦克风问题。
我认为这可能是库进行采样率限制/重新采样的结果,因为奈奎斯特频率(最大“可记录”频率)是采样率的一半。
我在本地托管 ml5 源并尝试修改PitchDetection 类
在那里,我看到出于性能原因,采样率似乎被重新采样到 1024Hz。这听起来不对,好像我没记错一样,这只允许检测高达 512hz 的频率。我肯定错过了一些东西(或很多)。
我尝试摆弄费率,但将其增加到 2048 会导致错误:
Error when checking : expected crepe_input to have shape [null,1024] but got array with shape [1,2048].
我的问题是:
ml5 PitchDetection 类中是否有一些东西我可以修改、配置(可能是不同的模型)以使用 crepe 模型检测高于 2000Hz 的频率?