我只是从小波变换开始,我想做音高检测。所以我下载了gnu的GSL计算库。我使用8k收集音频数据,然后将数据传递给函数(gsl_wavelet_transform_forward)。但是计算出的频率基于结果数据中最大两个峰值之间的时间差是不正确的,我相信变换后的最大峰值是声音的突变点,所以两个峰值之间的间隔是基音周期。你知道频率了吗?
int gsl_wavelet_transform_forward (const gsl_wavelet * w,
double *data, size_t stride, size_t n,
gsl_wavelet_workspace * work)
{
return gsl_wavelet_transform (w, data, stride, n, gsl_wavelet_forward, work);
}
能否提供使用此功能执行小波变换以检测音高的示例,非常感谢