开始使用免费开始使用

字节到整数

您已经了解了如何使用 Python 的 wave 模块和 readframes() 方法来导入并读取音频文件。但这样得到的是一个字节数组。

要把字节转换成更易用的形式,我们将使用 NumPy 的 frombuffer() 方法。

将声波的字节数据传给 frombuffer(),并指定 dtype'int16',就能把字节转换为整数。相比字节,整数更易于处理。

Python 的 wave 库和 good_morning.wav 音频文件已为您导入。

本练习是课程的一部分

Python 语音语言处理

查看课程

练习说明

  • 以常用别名 np 导入 numpy 包。
  • 打开并读取早安音频文件。
  • signal_gm 的字节数据转换为 int16 整数。
  • 查看前 10 个声波取值。

交互式实操练习

通过完成这段示例代码来试试这个练习。

import ____ as ____

# Open good morning sound wave and read frames as bytes
good_morning = wave.open(____, 'r')
signal_gm = good_morning.readframes(-1)

# Convert good morning audio bytes to integers
soundwave_gm = np.frombuffer(____, dtype=_____)

# View the first 10 sound wave values
print(soundwave_gm[:____])
编辑并运行代码