【发布时间】:2020-12-03 18:32:56
【问题描述】:
我从 Audacity 生成了一个 440Hz 的音调,振幅为 1,持续 1 秒,如下所示:
我知道这将在 1 秒内创建 440 个峰值,振幅为 1。 在这里我看到它是一个 44100Hz 的 32 位文件是采样率,这意味着每秒有 44100 个样本。幅度为 1,这与预期的一样,因为这是我选择的。
我不明白的是,这个振幅的单位是什么?右键单击时显示线性(-1 到 +1) 有一个选项可以选择它显示的 dB(0 到 -60 到 0),我不明白这是如何转换的!
现在当我在 python scipy 中使用这个 wav 文件来读取 wav 并获取时间和幅度值时 如何匹配或获取我生成的内容与读取 wav 文件时看到的内容之间的关系? 峰值幅度为 32767.987724003342 频率 439.99002267573695
我在python中使用的代码是
wavFileName ="440Hz.wav"
sample_rate, sample_data = wavfile.read(wavFileName)
print ("Sample Rate or Sampling Frequency is", sample_rate," Hz")
l_audio = len(sample_data.shape)
print ("Channels", l_audio,"Audio data shape",sample_data.shape,"l_audio",l_audio)
if l_audio == 2:
sample_data = sample_data.sum(axis=1) / 2
N = sample_data.shape[0]
length = N / sample_rate
print ("Duration of audio wav file in secs", length,"Number of Samples chosen",sample_data.shape[0])
time =np.linspace(0, length, sample_data.shape[0])
sampling_interval=time[1]-time[0]
【问题讨论】:
标签: fft wav audio-recording audacity