小编use*_*901的帖子

使用 Web Audio API 的和弦检测算法

首先我试图实现这个和弦检测算法:http : //www.music.mcgill.ca/~jason/mumt621/papers5/fujishima_1999.pdf

我最初实现了使用我的麦克风的算法,但它不起作用。作为测试,我创建了三个振荡器来制作交流和弦,但算法仍然不起作用。我想我应该只看到 C、E 和 G 的更高数字,但我看到所有音符的数字。我的算法实现有问题吗?还是我的 N、fref 或 fs 值?

这是包含重要部分的代码片段:

// Set audio Context
window.AudioContext = window.AudioContext || window.webkitAudioContext;

var mediaStreamSource = null;
var analyser = null;
var N = 4096;//8192;//2048; // Samples of Sound
var bufferLen = null;
var buffer = null;
var PCP = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; // Pitch Class Profiles
var fref = 261.63; // Reference frequency middle C (C4)
// fref = 65.4; …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm audio audio-processing web-audio-api

5
推荐指数
1
解决办法
1149
查看次数