.wav 文件长度/持续时间,无需读取文件

Posted

技术标签:

【中文标题】.wav 文件长度/持续时间,无需读取文件【英文标题】:.wav file length/duration without reading in the file 【发布时间】:2018-02-15 19:18:39 【问题描述】:

有没有一种方法可以提取有关 .wav 文件长度/持续时间的信息而无需读取 R 中的文件?我有数千个这样的文件,如果我必须阅读每一个文件才能找到它的持续时间,那将需要很长时间。 Windows 文件资源管理器为您提供了打开“长度”字段的选项,您可以看到文件持续时间,但是有没有办法提取该信息以便能够在 R 中使用?

这是我尝试过并希望避免这样做的,因为在 R 中读取数以万计的音频文件需要很长时间:

library(tuneR)
audio<-readWave("AudioFile.wav")
round(length(audio@left) / audio@samp.rate, 2)

【问题讨论】:

【参考方案1】:

您可以将tuneR 包中的readWave 函数与header=TRUE 一起使用。这只会标头文件的元数据,而不是整个文件。

library(tuneR)
audio<-readWave("AudioFile.wav", header=TRUE)
round(audio$samples / audio$sample.rate, 2)

【讨论】:

以上是关于.wav 文件长度/持续时间,无需读取文件的主要内容,如果未能解决你的问题,请参考以下文章

这是读取音频文件 FFT 的正确方法吗? (python + wav)

读取音频 wav 文件并绘制在 python 中平滑的音频频率响应

Qt ------ WAV 音频文件介绍

用Java读取wav文件

Java - 读取、操作和编写 WAV 文件

NAudio - 读取和写入 Wav 文件