Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何计算数组中的不同值对应于什么?(音响设备)_Python_Arrays_Audio_Python Sounddevice - Fatal编程技术网

Python 如何计算数组中的不同值对应于什么?(音响设备)

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],

我正在做一个项目,使用sounddevice来录制声音。我还需要使用该项目的频率和音量。我已经知道了如何录制声音,但是我很难知道如何操作录制的声音存储的数组,因为我不知道这些值对应什么。我试图在网上查找sounddevice中的阵列是如何工作的,但信息要么不存在,要么对我来说没有意义

当我尝试打印阵列时,我得到以下结果:

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)
。然后,这些值必须是每个通道上每个时间点的声波振幅。看起来是这样的。你需要应用傅里叶变换从时域到频域进行变换。