我正在尝试模拟已经录制/采样的打开吉他弦声音在吉他弦上的手的阻尼。我一直在尝试使用低通滤波器,并且具有一个可移动的频率范围,但这并没有使其听起来像是阻尼弦,只是失去了较高的频率。
有人可以帮我找到一个很好的 Material ,使人类至少可以掌握一点吗?
它将用C++实现,我一直在搜索并发现关于karplus-strong字符串算法的几乎所有内容,但这不是我想要的。我确实希望在已录制的实际演奏过的字符串的样本中实现阻尼部分。
最佳答案
这可能不像您想的那么简单。它不仅是正确的滤波器,而且声音会更快衰减。对于不同的频率,这可能是不同的。
如果您有吉他可以使用,则可以在正常击打时以及在阻尼时一次测量声音频谱。您可以测量初始频谱的差异以及衰减率的差异。
您可以将此信息应用于您要更改的声音,但需要先将信号转换为频率与时间的关系。
但这对于您的想法而言可能太复杂了。一种更简单的方法可能是首先通过将信号乘以e ^(w * t)并以w作为衰减率来增加衰减。您可以将信号分为低通和高通信号,并应用不同的衰减率,而高频率分量会得到更快的衰减。