читайте маркеры.WAV-файл

Я хотел бы использовать метки in .wav файлы.

он, кажется, поддерживается aifc модуль getmarkers() : http://docs.python.org/2/library/aifc.html#aifc.aifc.getmarkers (for .файлы AIFF), но не для wave модуль (http://docs.python.org/2/library/wave.html?highlight=wave#wave.Wave_read.getmarkers).

как мы могли бы читать метки of .wav файлы ?

2 ответов


редактировать: вот обновленная версия scipy.io.wavfile это добавляет много вещей (24 бит .поддержка wav-файлов для чтения / записи, маркеров сигналов, меток маркеров сигналов и некоторых других метаданных, таких как шаг (если он определен) и т. д.):

wavfile.py (enhanced)

не стесняйтесь поделиться им!


я, наконец, нашел решение (он использует некоторую функцию scipy.Ио.wavfile):

def readmarkers(file, mmap=False):
    if hasattr(file,'read'):
        fid = file
    else:
        fid = open(file, 'rb')
    fsize = _read_riff_chunk(fid)
    cue = []
    while (fid.tell() < fsize):
        chunk_id = fid.read(4)
        if chunk_id == b'cue ':
            size, numcue = struct.unpack('<ii',fid.read(8))
            for c in range(numcue):
              id, position, datachunkid, chunkstart, blockstart, sampleoffset = struct.unpack('<iiiiii',fid.read(24))
              cue.append(position)
        else:
            _skip_unknown_chunk(fid)
    fid.close()
    return cue

не стесняйтесь, чтобы добавить его в составляющей это wavfile.py Если кто-то заинтересовался.


это в волны.Модули Wave_read, называемые Wave_read.getmarkers() подробные сведения см. В документах: http://docs.python.org/2/library/wave.html?highlight=wave#wave.Wave_read.getmarkers