Red de conocimiento informático - Problemas con los teléfonos móviles - problema de Python. . . Realice fft en un archivo de forma de onda y luego, ¿cómo obtener esos componentes de frecuencia? numpy tiene esta función

problema de Python. . . Realice fft en un archivo de forma de onda y luego, ¿cómo obtener esos componentes de frecuencia? numpy tiene esta función

La pregunta que hiciste está un poco equivocada.

La forma de onda está en el dominio del tiempo y la transformación FFT consiste en convertir la forma de onda del dominio del tiempo al dominio de la frecuencia.

Después de realizar la FFT, el dato obtenido es el componente frecuencial.

Si estás hablando de cómo escribir código Python FFT. Aquí está:

Lo que se demuestra aquí es la forma de onda de voz.

wf?=?wave.open(wav_file, "rb")

params?=?wf.getparams()

nchannels,?sampwidth,? framerate,?nframes?=?params[:4]

str_data?=?wf.readframes(nframes)

wf.close()

#will Los datos de forma de onda se convierten en una matriz

s?=?np.fromstring(str_data,?dtype=np.short)

#wave_data. ?La forma de onda aquí es la forma de onda del habla

s?=?np.fft.fft(s)?#fft?Obtener el espectro