频率 - 线性区间到对数屏幕空间

时间:2016-04-19 22:27:25

标签: c++ audio logarithm spectrogram

我正在研究项目,在那里我需要可视化光谱分析来设置一些精确的参数。现在我将箱子转换为屏幕空间,因为在线性空间中,较低频率的幅度被压扁在一起。这是我在c ++中的代码:

R.id.calendar_month

我试图通过使用不同的方法来计算float windowSize = 640; float windowHeight = 480; for (size_t i = 0; i < bins; i++) { float m = audioIn.getSpectrum.at(i)*windowHeight; float pos = i; drawLine(vec2(pos, 0), vec2(pos, m)); } ,但却失败了。我猜想我缺少关于对数的关键知识。

免责声明:这是个人艺术项目,而不是家庭作业。

1 个答案:

答案 0 :(得分:2)

通常,光谱仪以10对数刻度显示。

假设您的0 Hznyquist Hz转到float nyquist = 22050.0; float logMax = log10(nyquist); float log = log10((float)i * nyquist / (float)bins); float pos = log / logMax * windowSize; ,您可能会尝试这样的事情(对于44.1kHz音频):

ga('set', 'userId', <?php echo get_current_user_id(); ?>);