【问题标题】:Fourier transformation with audio input in pythonpython中带有音频输入的傅里叶变换
【发布时间】:2018-09-13 15:54:48
【问题描述】:

我想使用神经网络识别声音,为此我需要首先为神经网络获得良好的输入,但仅将录音作为输入我认为它不会起作用,因为它基于频率和时间。所以我找到了傅里叶变换,现在我正在尝试用傅里叶变换我的音频文件并绘制它。

我的问题是:

如何在 python 中绘制带有音频输入的傅立叶变换?
如果这样可行,我如何在神经网络中输入傅里叶变换(我想也许给每个神经元一个 y 值,神经元作为对应的 x 值)

我尝试了类似的东西(我在互联网上找到的东西的组合:

import matplotlib.pyplot as plt
from scipy.io import wavfile as wav
from scipy.fftpack import fft
import numpy as np
import wave
import sys

spf = wave.open('AAA.wav','r')

#Extract Raw Audio from Wav File
signal = spf.readframes(-1)
signal = np.fromstring(signal, 'Int16')
fs = spf.getframerate()
fft_out = fft(signal)


Time=np.linspace(0, len(signal)/fs, num=len(signal))

plt.figure(1)
plt.title('Signal Wave...')
plt.plot(Time,fft_out)
plt.show()

但考虑到我在麦克风中的输入是“aaaaaa”,这似乎不对。

【问题讨论】:

    标签: python neural-network fft


    【解决方案1】:

    首先,您的问题更适合Data Science Stack exchange site。 考虑下次在这里问你的问题。

    为了绘制傅立叶变换,您需要 fft 的绝对值(模数)。 (除非在特定情况下信号是偶数和实数,其中 fft 也是偶数和实数)

    对于您的输入,只需尝试为网络提供 fft 的幅度,对于所有频率或可能是第一个频率,因为通常幅度在 fft 中快速下降(或者您认为在看到绘图后值得提供的频率).
    也许使用fft不是一个好主意,但我让你尝试一下。也许您可以找到已经尝试使用 fft 进行分类的人。如果您遇到困难或陷入困境,请尝试在我之前链接的网站上提出其他问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-18
      • 2010-10-10
      • 2018-10-23
      • 2011-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多