LabVIEW 提供了多种方式来读取和写入 WAV 格式的音频文件。 完成本模块后,您将能够使用位于 Programming | Graphics & Sound | Sound | Files 中的 Simple ReadSimple Write,用于从 .wav 文件中检索作为一维数组的音频信号,并将表示音频信号的一维数组保存到 .wav 文件中。 涵盖的其他要点包括在保存为音频文件之前将音频信号缩放到最大绝对值 1,以及如何创建双通道(立体声)音频文件。

从 .wav 文件中检索音频信号

声音文件 Simple Read 子 VI 接受 .wav 格式的音频文件的文件名并返回波形数据类型。 您可以读取单声道或立体声文件,还可以确定音频信号的采样频率及其样本总数等信息。

以下视频截屏显示了如何使用简单读取,检索作为数组数据类型的音频信号,该数据类型可用作您自己的 VI 的信号输入。 您可能想立即启动 LabVIEW,然后创建您自己的 VI 版本,如下图所示。 如果是这样,您将需要截屏视频中引用的两个音频文件:tone-noise.wav 和 left-right.wav。

视频演示

将音频信号保存到 .wav 文件

Sound File Simple Write 子 VI 接受波形数据类型和文件名的信号,并将信号存储为 .wav 文件。 您可以设置每个样本的位数(建议 16 位以获得最佳保真度)。 您必须确保您的信号值在 -1 到 1 的范围内,否则其他应用程序可能无法正确读取您的 .wav 文件。

下一个视频截屏显示了,如何使用 Simple Write 将表示音频信号的现有一维数组保存到 .wav 文件。 截屏视频还涵盖了成功创建 .wav 文件,所需的一些不太明显的数据类型转换。 您可能想立即启动 LabVIEW,然后创建您自己的 VI 版本,如下图所示。 如果是这样,您将需要截屏视频中引用的音频文件:

视频演示

在保存到 .wav 文件之前缩放音频

如前所述,您必须确保信号中的所有样本都在 -1 到 +1 的范围内。创建超出此范围的信号很容易,尤其是当您将多个信号添加在一起时。

下一个截屏视频说明了 Quick Scale 如何是一种简单的方法来缩放您的一维数组,以便最大绝对值始终为 1; Quick Scale 位于“信号处理 | Sig Operation”调色板,应用作转换为波形数据类型之前的最后一步。

视频演示

创建一个双通道(立体声).wav 文件

创建立体声 .wav 文件需要您组合一组波形,一个用于左通道,另一个用于右通道。观看下一个截屏视频以了解如何操作。

视频演示

https://embed.notionlytics.com/wt/ZXlKM2IzSnJjM0JoWTJWVWNtRmphMlZ5U1dRaU9pSlhiRWhvWlV4VVQxbHNjMlZYV2tKbU9URndaU0lzSW5CaFoyVkpaQ0k2SW1FNE5HRmtPR1ppT0dKbE5qUXpZemc1T0RGbU5qSTNPRGhsWW1abE5EWmlJbjA9