相关疑难解决方法(0)

检测基频

在印度的IIT-Bombay有这个技术节,在那里他们有一个名为"Artbots"的活动,我们应该设计具有艺术能力的艺术机器人.我有一个关于音乐机器人的想法,它以歌曲作为输入,检测歌曲中的音符并在钢琴上播放.我需要一些方法来帮助我计算歌曲音符的音高.关于如何去做的任何想法/建议?

signal-processing frequency pitch-tracking detect

18
推荐指数
3
解决办法
2万
查看次数

从潜在谐波确定基频的算法

我试图从声源中提取基频.也许有人在麦克风上唱A3,所以我想要检测~110Hz

我的方法是:

  • FFT 1024浮点数
  • 使用每个箱的相位来准确地确定其精确的频率
  • 确定峰值(通常为50左右)
  • 先用最大的声音命令它们

(峰值[0] .power = 1063.343750,.freq = 2032.715088
(峰值[1] .power = 1047.764893,.freq = 3070.605225
(峰值[2] .power = 1014.986877,.fr​​eq = 5925.878418
(峰值[3] .power = 1011.707825,.freq = 6963.769043
(Peak [4] .power = 1009.152954,.freq = 4022.363037
(Peak [5] .power = 995.199585,.freq = 4974.120605
(Peak [6] .power = 987.243713,.freq = 8087.792480
(Peak [7] .power = 533.514832,.freq = 908.691833

  • (MARKER1)以最响亮的方式开始,并将其与所有剩余的峰值匹配,所以如果我有N个峰值,此时我将有N-1个峰值对
  • 检查每个峰值对的谐度; 即它与某个分数a/b有多接近,即我们能找到b <20的a/b,使得| peakA.freq/peakB.freq - a/b | <0.01(这将匹配到20日的谐波)
  • 我们现在有一个精确的峰值列表,这些峰值被认为是彼此谐波的

    Harmonic PeakPair:(0,1)= 2/3,误差:0.00468 => f0 @ 1019.946289
    谐波峰值:( 0,2)= 1/3,误差:0.00969 => …

algorithm estimation signal-processing pitch

16
推荐指数
2
解决办法
4894
查看次数

MATLAB - 缺少FFT的基波

我目前正在从事我的第四年项目(计算机科学),该项目涉及音乐的自动转录 - >乐谱.我现在在Matlab中这样做,但是必须在某个阶段转换为java.

我的问题:我的程序返回纯正弦音的正确音符,现在我遇到了从自然乐器演奏的音符中检索基频的问题.对于某些音符,代表音符基础的峰值似乎完全没有.例如,当我从车库带播放G3音符时,它显示为G4,因为我的情节中只出现了第1,第3,第5和第7次谐波.我试图添加图像,但这是我的第一篇文章,它不允许我.任何指向正确方向的人都会非常感激.

matlab signal-processing fft frequency

10
推荐指数
1
解决办法
3222
查看次数

如何使用cepstral?

最近我问了这个问题:如何从FFT获得基频?(你实际上不需要阅读它)

我现在怀疑它:如何使用cepstral算法?

我只是不知道如何使用它,因为我所知道的唯一语言是ActionScript 3,因此我几乎没有关于C,Java等中的本机函数的引用,以及我应该如何在AS上实现它们.大多数文章是关于这些语言= /(尽管如此,欢迎使用AS以外的其他语言的答案,请解释脚本如何工作请)

我发现有关cepstral的文章找到FFT结果的基本频率告诉我,我应该这样做:

信号→FT→abs()→square→log→FT→abs()→square→power倒谱

数学上:| F {log(| F {f(t)} |²)} |²

重要信息:

  • 我正在开发一个GUITAR TUNER
  • 这是我第一次处理高级声音
  • 我正在使用FFT从到达用户麦克风的信号中提取频率分档,但是我无法从中获取基频

我不知道:

  • 如何在ARRAY中应用一个正方形(我的意思是,我的FFT给我的数据是一个数组.我应该自己乘以它吗?当我尝试fftResults*fftResults时,ActionScript的调试会抛出错误)
  • 如何申请"日志".即使我有一个号码,我也不知道如何应用它.
  • 复杂cepstral和power cepstral之间有什么区别.另外,我应该使用它们中的哪一个?我正在努力开发吉他调音器.

谢谢!

arrays actionscript fft frequency frequency-analysis

5
推荐指数
2
解决办法
2303
查看次数