Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Audio 如何在音频文件中对齐样本?_Audio_Core Audio - Fatal编程技术网

Audio 如何在音频文件中对齐样本?

Audio 如何在音频文件中对齐样本?,audio,core-audio,Audio,Core Audio,我试图更好地理解音频文件中的样本是如何对齐的 假设我们有一个采样率为3的2s音频文件。 我认为有三种可能的方法来校准这些样本。看下面的图片,你能告诉我哪一张是正确的吗 另外,这是所有音频文件的标准,还是不同的格式有不同的规则 干杯 音频中的采样率通常告诉您一秒钟内有多少个样本,单位为赫兹。严格地说,正确的答案是(1),因为你在一秒钟内有3个样本。假设没有延迟,PCM和其他格式规定音频从0开始。下一个“周期”(下一秒)也从零开始,原理与时钟相同 要获得音频的总长度(在注释中的问题之后),只需获取

我试图更好地理解音频文件中的样本是如何对齐的

假设我们有一个采样率为3的
2s
音频文件。 我认为有三种可能的方法来校准这些样本。看下面的图片,你能告诉我哪一张是正确的吗

另外,这是所有音频文件的标准,还是不同的格式有不同的规则


干杯

音频中的采样率通常告诉您一秒钟内有多少个样本,单位为赫兹。严格地说,正确的答案是(1),因为你在一秒钟内有3个样本。假设没有延迟,PCM和其他格式规定音频从
0开始。下一个“周期”(下一秒)也从零开始,原理与时钟相同

要获得音频的总长度(在注释中的问题之后),只需获取
采样数/速率
。使用社区中用于声音处理的规范工具之一30s WAV的示例:

Input File     : 'book_00396_chp_0024_reader_11416_5_door_Freesound_validated_380721_0-door_Freesound_validated_381380_0-9IfN8dUgGaQ_snr10_fileid_1138.wav'
Channels       : 1
Sample Rate    : 16000
Precision      : 16-bit
Duration       : 00:00:30.00 = 480000 samples ~ 2250 CDDA sectors
File Size      : 960k
Bit Rate       : 256k
Sample Encoding: 16-bit Signed Integer PCM

480000个样本/(16000个样本/秒)=30秒。引用手册,持续时间“等于样本数量除以样本率。”

感谢卢卡斯。这是有道理的,但若#1是正确的,那个么我如何测量音频的持续时间呢?是否为
样本数/速率
?如果是这样,这将意味着最后一个样本不在音频的确切末尾。这是正确的吗?那么,计算样本时间的公式是什么呢?这是否正确:
time=sample\u idx/(rate+1)
(样本从0开始索引)。@msmiako假设速率为
Hz
,则
样本数/速率的公式
正确,单位为
样本/(样本/秒)=s
。根据定义,最后一个示例是音频的结尾-为什么不呢?如果持续时间的公式如您所说,那么示例3不是示例的正确对齐方式吗?在示例#1中,最后一个样本实际上在2s标记之前。共有6个样本,以3Hz频率记录。这难道不意味着最后一个样本正好在2s处吗?
2s
标记是新周期的开始,与
0s
标记是新周期的开始相同。如果在例1中的
2s
处有一个样本,则意味着who样本长度超过2秒。从形式上讲,这三个的长度是相同的。请记住,在此推理中,您试图将连续测量框架(时间单位为秒)应用于离散测量,这可能会导致解释问题(由于不连续性)。我想考虑每个样本的“持续时间”是准确的,它可以定义为
1/频率
。在我们的示例中,它是
1/3秒
,是采样之间的时间。因此,总音频持续时间可以定义为
last\u sample\u timestamp+sample\u duration
。我的直觉是,这是正确的,因为在最后一次采样之后,波被插值到
0
,并且需要时间。