如何解决如何使用 FFT 值创建频谱图? Python
此处的“listofChunks”是从 BASE64 (0-255) 解码的 ByteArray 列表。 例如 [[23,55,125,255,234,12,5,...] ]
我如何能够使用我生成的 FFT 值进行频谱分析并显示频谱图。
from scipy.fft import fft,ifft,fftfreq
import numpy as np
import matplotlib.pyplot as plot
@app.route('/api',methods=['GET','POST'])
def test():
listofChunks = []
try:
data = request.get_json()
audioChunk = data['audioChunk']
listofChunks.append(audioChunk['data'])
except Exception as e:
print("An error has occured: ",e)
return "Error"
for i in listofChunks:
# Smaller memory consumption & faster & optimized functions for FFT
npArray = np.array(i)
#
fftArray = fft(npArray)
# The ifft takes frequency domain input data and converts to time domain output data
ifftArray = (fftArray)
#Plotting
N = 600
T = 1.0 / 800.0
npArray = np.linspace(0.0,N*T,N,endpoint=False)
fftArray = np.sin(50.0 * 2.0*np.pi*npArray) + 0.5*np.sin(80.0 * 2.0*np.pi*npArray)
yf = fft(fftArray)
xf = fftfreq(N,T)[:N//2]
plt.plot(xf,2.0/N * np.abs(yf[0:N//2]))
plt.grid()
plt.show()
# 3584 items per chunk (3MB)
print(ifftArray)
return "Success"
[1]: https://i.stack.imgur.com/Z5YEl.png
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。