如何在 python 中获取声音文件(.wav)的时间长度? [复制]
Posted
技术标签:
【中文标题】如何在 python 中获取声音文件(.wav)的时间长度? [复制]【英文标题】:How can I get the time lenght of a sound file (.wav) in python? [duplicate] 【发布时间】:2021-07-07 14:12:41 【问题描述】:我需要它知道我的一个程序中的 .wav 文件有多长(及时)。
我知道我可以通过属性进入,但我不知道如何使用 python 访问它们。 我试图找到带有 os 和 pathlib 的命令,但我找不到可以为我提供声音文件时间或所有属性的命令。
【问题讨论】:
为什么不读取文件并除以每秒样本数? ***.com/questions/7833807/… 看看这个 【参考方案1】:这个问题类似这样:Get .wav file length or duration
您可以通过了解文件中的样本数以及采样率(每秒样本数)来找到 .wav 或 .mp3 的持续时间。从中找出持续时间(以秒为单位)的公式是:duration = (samples/sample_rate)。
我发现上述问题的解决方案之一特别简单且有用(Dave C 的回答)。虽然,首先您必须使用pip install soundfile
安装soundfile
模块,如果您不使用Anaconda,则必须安装numpy
。完成此操作后,您可以简单地导入 soundfile
模块并使用其内置函数来查找采样率和采样数。
import soundfile as sf
f = sf.SoundFile('your_file.wav')
print('samples = '.format(len(f)))
print('sample rate = '.format(f.samplerate))
print('seconds = '.format(len(f) / f.samplerate))
【讨论】:
以上是关于如何在 python 中获取声音文件(.wav)的时间长度? [复制]的主要内容,如果未能解决你的问题,请参考以下文章