代码之家  ›  专栏  ›  技术社区  ›  Tim McNamara

将音频文件切成10秒的片段

  •  3
  • Tim McNamara  · 技术社区  · 15 年前

    欢迎推荐如何切片a.wav 使用Python库将文件分为时间分隔的段。

    1个

    2 回复  |  直到 15 年前
        1
  •  2
  •   Community Mohan Dere    9 年前

    我建议查看一个给定文件的数据结构,并在该行的适当位置“剪切”数据,这样就不会提前截断帧。

    这将意味着查看记录的频率和比特率,并使用它来获得每个帧的大小(以比特为单位)。然后,您可以不剪切单个帧数据而获取音频片段。

    Have a look at this SO posting . 它建议将音频视为二进制读取字符串。由于它是一个字符串,您基本上可以复制、剪切和移动字符串,因为您想要一个新的输出文件。

    看看这个: http://docs.python.org/library/binascii.html

    https://ccrma.stanford.edu/courses/422/projects/WaveFormat/

    或者保持它为二进制并使用字节数组。需要考虑头文件和发生了什么,虽然每个格式是不同的。MP3很容易保留标题,因为它是交织在数据中的:

    http://en.wikipedia.org/wiki/Mp3#File_structure

    好吧,一堆东西。


    最后:一个你肯定已经看过的: http://sourceforge.net/projects/audiotools/

    使用 bits_per_sample() 来自sourceforge.net的音频工具链接中的方法

    -- Returns the number of bits-per-sample in this audio file as a positive integer.

    你可以把文件的长度以位为单位,除以16。然后可以使用一个方法根据时间(以毫秒为单位)划分数组。这听起来很复杂,但实际上是初级数学。

        2
  •  3
  •   Coder404    11 年前

    我会用 wave module