Python 为什么使用udacity gui和scipy从wav文件中提取样本会给出不同的值?

Python 为什么使用udacity gui和scipy从wav文件中提取样本会给出不同的值?,python,audio,scipy,wav,audacity,Python,Audio,Scipy,Wav,Audacity,我有一个7秒的音频wav文件:full.wav 我提取了一个小样本。我使用audacity选择时间框架并对其进行标记。我导出标签(包含样本的开始和结束时间) 1/I使用audacity菜单导出样本,并将其另存为sample\u audacity.wav 2/I使用scipy.io.wavfile.read在python脚本中加载full.wav 我将样本保存为完整[开始:结束]。它给了我示例_python.wav 当我听sample\u audacity.wav和sample\u python.

我有一个7秒的音频wav文件:full.wav

我提取了一个小样本。我使用audacity选择时间框架并对其进行标记。我导出标签(包含样本的开始和结束时间)

1/I使用audacity菜单导出样本,并将其另存为sample\u audacity.wav

2/I使用scipy.io.wavfile.read在python脚本中加载full.wav 我将样本保存为完整[开始:结束]。它给了我示例_python.wav

当我听sample\u audacity.wav和sample\u python.wav时,我听到了相同的声音。

但是,如果我使用scipy.io.wavfile.read加载这两个文件,那么这两个文件的值会非常不同。 sample_python.wav的值是full.wav值的子集-这是正常值

但是sample_audacity.wav的值不是

有人知道audacity在保存原始数据(full.wav)的摘录时为什么/如何修改它吗

若可能的话,如何让audacity给我一个样本,它将具有相同的初始数据值(子集)

例如,sample_audacity.wav的前100个值

[128 122 124 123 134 138 143 142 139 135 144 149 155 156 148 144 143 144
151 152 159 152 160 150 157 151 155 153 155 156 154 151 145 139 128 132
124 131 130 129 123 115 104 100  94  94  88  85  78  74  65  59  52  48
43  45  46  45  40  30  19  10   6   7  14  15  12   0  -8   1  23  51
72  63  55  26  23  20  31  36  40  35  27  22  15  15   7   9   1  -2
-40-3-4-18-25-25-12-1-9]

样本_audacity.wav的形状: (36296,)

示例_python.wav的前100个值

[128 127 124 122 132 139 143 142 138 137 142 150 155 155 149 144 142
145 150 154 156 156 155 155 154 153 153 154 155 156 154 151 145 138 131
128 127 129 131 129 123 114 105  99  95  93  89  84  79  73  66  59  52
47  44  45  46  45  39  31  19  10   5   8  13  16  11   0  -7   0  23
52  69  68  50  30  20  22  30  37  39  35  28  21  16  13  10   7   2
-3-3-1-1-6-17-26-24-12-2]

示例_python.wav的形状: (36297,)

大胆2.1.2 Ubuntu

首选项导入/导出:

导出设置:

两个文件的媒体信息:

文件导入audacity后,将转换为32位格式。当您将文件重新导出回16位时,audacity将根据首选项抖动音频。此页面上有更多详细信息:


此导出设置不在明显位置。转到首选项/质量,然后在“高质量转换”标题下进行抖动。如果将其设置为“无”,则应获得与python相同的结果。

将文件导入audacity后,将其转换为32位格式。当您将文件重新导出回16位时,audacity将根据首选项抖动音频。此页面上有更多详细信息:


此导出设置不在明显位置。转到首选项/质量,然后在“高质量转换”标题下进行抖动。如果将其设置为“无”,则应获得与python相同的结果。

两种工具上的采样率和深度相同?是的。深度均为16位,样本通过Audacity手动选择。我导出与所选内容相对应的标签-因此与通过Audacity接口导出时的开始和结束时间戳完全相同。我用mediainfo更新了这篇文章,这两个文件的输出在这里都可用,这两个工具的采样率和深度是相同的吗?是的。深度均为16位,样本通过Audacity手动选择。我导出与所选内容相对应的标签-因此与通过Audacity接口导出时的开始和结束时间戳完全相同。我用mediainfo更新了这篇文章,这两个文件的输出都可以在这里找到!不幸的是,我要到下个星期天才能测试它,但我一拿到ubuntu就可以了。谢谢:)是的!我还更改了在“质量”设置中找到的其他参数(将默认采样率设置为48KHz,将默认采样格式设置为16位-这是我输入值的值)-然后,从接口导出的剪切实际上是初始值的子集。谢谢@jaketCool!不幸的是,我要到下个星期天才能测试它,但我一拿到ubuntu就可以了。谢谢:)是的!我还更改了在“质量”设置中找到的其他参数(将默认采样率设置为48KHz,将默认采样格式设置为16位-这是我输入值的值)-然后,从接口导出的剪切实际上是初始值的子集。谢谢你,杰克