cj1128.github.io icon indicating copy to clipboard operation
cj1128.github.io copied to clipboard

音频可视化:采样、频率和傅里叶变换

Open cj1128 opened this issue 3 years ago • 13 comments

https://cjting.me/2021/08/07/fourier-transform-and-audio-visualization/

音频可视化:采样、频率和傅里叶变换

cj1128 avatar Aug 06 '21 17:08 cj1128

金子一样的文章

wupher avatar Aug 13 '21 03:08 wupher

干货

chf007 avatar Aug 13 '21 07:08 chf007

文章读起来很舒服

greenhand0403 avatar Aug 14 '21 02:08 greenhand0403

好文章!学到了很多。感谢博主。

giriawu avatar Aug 19 '21 10:08 giriawu

time smoothing可以认为 Time smoothing 就是对当前的 result 和上一个 result 进行某种操作,然后输出一组值。这是对的,大概就是这个意思,其实可能就是一个滑动平均,或者加权平均之类的。

junshichen avatar Aug 19 '21 20:08 junshichen

55utah avatar Aug 20 '21 09:08 55utah

谢谢您的文章分享🥳,本人感到十分受用,希望博主能够分享更多有关知识

LRY89757 avatar Aug 26 '21 08:08 LRY89757

太赞了

kano233333 avatar Oct 28 '21 07:10 kano233333

太有用了,简洁易懂

BapiGso avatar Mar 10 '22 05:03 BapiGso

Cho san涉猎范围真的是广啊

ml2343635 avatar Apr 20 '23 05:04 ml2343635

楼主你好,用python分析200hz.wav音频,经过傅里叶变换得出频率为1000,不应该是200么,求大佬解答一下

代码输出结果: 1000.0 3612513689.5074916

代码如下: import numpy as np import scipy.io.wavfile as wav from scipy.fft import fft, fftfreq, rfft, rfftfreq from matplotlib import pyplot as plt

rate, all_samples = wav.read(r"D:\XXX\200hz.wav")

print(rate, len(all_samples), all_samples.dtype)

y = fft(all_samples) x = fftfreq(len(all_samples), 1 / len(all_samples)) for i in range(len(x)): if np.abs(y[i]) >= 110000: print(x[i], np.abs(y[i]))

plt.plot(x, np.abs(y)) plt.show()

FangGuoZheng avatar Sep 04 '23 07:09 FangGuoZheng

@FangGuoZheng 计算 x 的代码不正确,第二个参数是 1 / rate

cj1128 avatar Oct 09 '23 06:10 cj1128

学习到了,同时发现博主其它的文章质量也很高,感谢!

lucumt avatar Apr 19 '24 03:04 lucumt