首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用python将长音频(例如:1小时)文件拆分成多个短长度(5s)音频文件

如何使用python将长音频(例如:1小时)文件拆分成多个短长度(5s)音频文件
EN

Stack Overflow用户
提问于 2020-08-29 17:08:04
回答 1查看 215关注 0票数 0

我有一些长的音频文件,我想使用python.Ex:The音频将这个音频文件分割成多个短长度的音频文件,长的长度超过1小时,并想分割成多个短长度的5s文件。我想在每个5s中提取整个音频文件的特征。

EN

回答 1

Stack Overflow用户

发布于 2020-08-29 19:01:16

你的问题有两个问题。

拆分audio

  • Extracting功能的

它们都有相同的,潜在的,关键信息:采样频率。

音频信号的持续时间(以秒为单位)和用于音频文件的采样频率定义了音频文件具有的采样量。音频样本(简而言之)是硬盘或计算机内存中音频信号的一个值。

典型wav文件的音频采样量是根据公式sr * dur计算的,其中sr是以Hz为单位的采样频率(例如,CD质量信号为44100 ),dur是音频文件的持续时间(以秒为单位)。例如,2秒的CD音频文件具有44100 * 2 = 88200样本。

所以:

要在Python中拆分音频文件,首先必须在一个变量中读取它。例如,有大量的库和函数(以随机顺序):

  • scipy.io.wavfile.read
  • wave模块

还有其他的。您可以查看此SO post,了解有关读取wav文件的更多信息。

然后,您只需获取N个样本,例如my_audio_1 = whole_audio_file[0:5*sr]

但是!

如果你只想每X秒提取一次特征,那么就不需要手动拆分音频。大多数音频特征提取库都会为你做到这一点。

例如,在librosa中,您可以控制FFT点的数量,这大致相当于您要从中提取特征的音频的长度。例如,您可以在这里检查:https://librosa.org/doc/latest/feature.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63645290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档