【问题标题】:Understanding an wav file exported from a daw了解从 daw 导出的 wav 文件
【发布时间】: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


    【解决方案1】:

    请注意,当您在保存文件之前创建振幅选择为 1.0 的一秒音频时,它显示有符号 16 位整数,因此从 -1 到 +1 的振幅意味着 PCM 格式的 WAV 文件通过改变来存储您的原始音频从最大负数到最大正数的有符号整数,因为 2^16 是 65536,所以有符号 16 位整数范围是 -32768 到 32767,换句话说,从 -2^15 到 (​​ +2^15 - 1 ) ... 更好情节我建议你选择一个更短的时间段,比一秒小得多,比如说 0.1 秒......一旦你同意了,然后将它提升回使用整整一秒,由于 44100 个样本,这很难在情节上可视化

    import os
    import scipy.io
    import scipy.io.wavfile
    import numpy as np
    import matplotlib.pyplot as plt
    
    myAudioFilename = '/home/olof/sine_wave_440_Hz.wav'
       
    samplerate, audio_buffer = scipy.io.wavfile.read(myAudioFilename)
    
    duration = len(audio_buffer)/samplerate
    
    time = np.arange(0,duration,1/samplerate) #time vector
    
    
    plt.plot(time,audio_buffer)
    plt.xlabel('Time [s]')
    plt.ylabel('Amplitude')
    plt.title(myAudioFilename)
    plt.show()
    

    这里是 440 Hz 的 0.1 秒,使用有符号 16 位注意,幅度范围的 Y 轴与上述最小到最大有符号整数值范围匹配

    【讨论】:

    • 谢谢,创建 0.1 的音频更好理解。
    猜你喜欢
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多