Java 为什么吹口哨能更好地进行检测?
我正在玩TarsosDSP附带的UtterAsterisk示例程序。这个程序的目标是显示水平条,指示用户应该做的注释。垂直条从左向右移动,以向用户指示何时执行哪些注释的正确时间。根据用户是否在正确的持续时间内做了正确的笔记,用户将获得分数 链接到应用程序的屏幕截图: 本程序分为三个部分:Java 为什么吹口哨能更好地进行检测?,java,signal-processing,tarsosdsp,Java,Signal Processing,Tarsosdsp,我正在玩TarsosDSP附带的UtterAsterisk示例程序。这个程序的目标是显示水平条,指示用户应该做的注释。垂直条从左向右移动,以向用户指示何时执行哪些注释的正确时间。根据用户是否在正确的持续时间内做了正确的笔记,用户将获得分数 链接到应用程序的屏幕截图: 本程序分为三个部分: 选择音频输入 选择检测算法 预期注释与实际生成注释的视觉表示:每X毫秒生成一个小的黑色正方形,表示用户所做的注释。在本节的标题中(在最新版本的节目中),它说“吹口哨效果最好” 我想知道为什么这个代码最适合吹口哨
谢谢你的意见 答案似乎就在这里 用户将产生非口哨、非人声(无语音)声音(如动物声音),并且需要匹配以确保正确性 这些“声音”似乎是多重音调的结果, 口哨声(人类口哨声)可能产生单一音调 作为比较,, 测试在钢琴上弹奏的单个音符(或键)的声音与在钢琴上弹奏的和弦(多个音符)的声音之间的差异 另一种选择是使用电话产生拨号音(例如按7)而不是吹口哨。
电话会发出DTMF(双音等等)声音。我投票结束这个问题,因为它是关于音调检测、音频谐波和口哨声的,而不是关于编程。公平点。是否有办法将我的问题转移到DSP/TarsosDSP部分?我以为这只是由我添加的标签控制的,但似乎我错了。你是对的DwB。看来,仅仅是把我所知道的关于这个主题的一切都写在一个冗长的问题上,就能清楚地找到答案。谢谢你指给我看!我会接受你的正确答案。
// add a processor, handle percussion event.
dispatcher.addAudioProcessor(new PitchProcessor(algo, sampleRate, bufferSize, this));