python - 将其标准化以写入.wav文件后,无法获取原始的numpy数组

标签 python arrays numpy audio wav

我已经使用了scipy.io.wavfile的write函数来生成一个.wav文件。

scaled = np.int16(lol/np.max(np.abs(lol))*32767)
write("my/path",44100,scaled)

在这里,我使用上面的函数对数组名lol进行规范化。现在,在写完这个.wav文件之后,当我在另一个代码中读取它时,它给了我scaled数组(Normalized lol array)。但是我想要的是lol数组,这是我之前用来生成声音文件的原始数组。

因此,我尝试编写上述函数的反函数来获取原始的lol数组,但无法获得任何有用的结果。通过写逆,我认为这是不可能的,因为原始函数包含np.max()np.abs()

那么如何从该函数获取原始数组呢?

最佳答案

documentation列出您可以直接使用32位浮点数据。读取后不需要任何转换。有关lol类型的更多信息将有助于回答您需要浮点还是定点。

关于python - 将其标准化以写入.wav文件后,无法获取原始的numpy数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43250953/

相关文章:

python - 使用 Numpy 进行傅立叶变换

python - 用包含字符串的变量替换函数属性

python - Python 中的 only() 方法?

python - 按 Pandas 分组

jQuery 数组中元素的总数

python - 在 numpy 的范围内采样随机 float

python - 从json中深度获取项目,并在python中使用默认值

Java,使用对象数组时出现 NullPointerException

arrays - 使用 LINQ 如何连接来自 SortedDictionary<string,List<byte[]>> 的字节

python - 使用 astropy.fits 和 numpy 对 SWIFT 拟合图像应用重合校正