Python 如何计算数组中的不同值对应于什么?(音响设备)
我正在做一个项目,使用sounddevice来录制声音。我还需要使用该项目的频率和音量。我已经知道了如何录制声音,但是我很难知道如何操作录制的声音存储的数组,因为我不知道这些值对应什么。我试图在网上查找sounddevice中的阵列是如何工作的,但信息要么不存在,要么对我来说没有意义 当我尝试打印阵列时,我得到以下结果:Python 如何计算数组中的不同值对应于什么?(音响设备),python,arrays,audio,python-sounddevice,Python,Arrays,Audio,Python Sounddevice,我正在做一个项目,使用sounddevice来录制声音。我还需要使用该项目的频率和音量。我已经知道了如何录制声音,但是我很难知道如何操作录制的声音存储的数组,因为我不知道这些值对应什么。我试图在网上查找sounddevice中的阵列是如何工作的,但信息要么不存在,要么对我来说没有意义 当我尝试打印阵列时,我得到以下结果: array([[ 0.0000000e+00, 0.0000000e+00], [-3.0517578e-05, 0.0000000e+00],
array([[ 0.0000000e+00, 0.0000000e+00],
[-3.0517578e-05, 0.0000000e+00],
[ 0.0000000e+00, 0.0000000e+00],
...,
[-2.0446777e-02, -2.0416260e-02],
[-1.3946533e-02, -1.3946533e-02],
[ 2.7465820e-04, 2.7465820e-04]], dtype=float32)
这是指向sounddevice文档的链接:
这是我用来录制声音的:
import sounddevice as sd
#from scipy.io.wavfile import write
#from derivatives import slope
import numpy as np
fs = 45000
seconds = 1
test = input()
if test == '':
myrecording = sd.rec(int(seconds * fs), samplerate=fs, channels=2)
print('recording')
sd.wait()
print('done recording')
#write('output.wav', fs, myrecording)
你可以发布你在网上找到的文档的链接吗?这里是链接:你能提供你用来录音的代码吗?据我从文档和你发布的代码中了解,输出数组的两个维度是样本数和通道数。您可以通过执行
打印(myrecording.shape)
来检查这一点,它应该给出(45000,2)
。然后,这些值必须是每个通道上每个时间点的声波振幅。看起来是这样的。你需要应用傅里叶变换从时域到频域进行转换。你能将链接发布到你在网上找到的文档吗?这里是链接:你能提供你用来录音的代码吗?根据我从文档和你发布的代码中了解的情况,输出阵列的两个维度是采样数和通道数。您可以通过执行打印(myrecording.shape)
来检查这一点,它应该给出(45000,2)
。然后,这些值必须是每个通道上每个时间点的声波振幅。看起来是这样的。你需要应用傅里叶变换从时域到频域进行变换。