不扩充维度地将list转换为numpy 数组

line2 从内存中读取字节流并转换为numpy array, shape是[1.1323], None 是增加一个维度, 然后append到audio list里

line3 把list audio转换为[25,1323]的numpy array,注意这里不能用np.array(audio),这样做的结果是[25,1,1323],因为这样会增加一个维度,不是想要的。

import numpy as np
audio = []
audio.append(np.frombuffer(data, dtype=np.int16)[None, :])  # [1,1323]
out_data = np.concatenate(audio)  # [25,1323]  
          

注:虽然torch也有torch.Tensor(audio)的方式把list转换为tensor然后再处理,但这样是从内存到GPU,很慢,官方文档说的extreamely slow, 建议先像下面的代码一样通过np.concatenate(list)转换为numpy array后,再使用torch.from_numpy(array)转为tensor使用。

你可能感兴趣的:(numpy,python,开发语言)