Как мне нарезать и переименовывать подразделы файла .wav с помощью scipy? - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь взять файл .wav и разделить его на 5 секунд (частота дискретизации составляет 2000 выборок / сек), причем каждый сегмент является версией первого. Например, b0001.wav -> b0001_1.wav, b0001_2.wav, b0001_3.wav и b0001_4.wav

У меня есть для чтения и может работать с .wav, но комбинация нарезкии написание в то время как и переименование его как вариант меня смущает.

Есть предложения? Это готово, чтобы я начал говорить как Картман из Южного парка

import os
import numpy as np
from scipy.io import wavfile as wav
from scipy.io.wavfile import read, write

for dirName, subdirList, fileList in os.walk(start_dir):
    print('Found directory: %s' % dirName)
    for fname in fileList:
        print('\t%s' % fname)


def slice_rename(start_dir):
    for root, dirs, files in os.walk(start_dir):
        for file in files:
            if file.endswith(".wav"):
                print(file)

                rate, data = wav.read(file)
                len_data=len(data)//10000
                n_slices = min(len_data, 4)

                for i in range(n_slices):        
                    slice_start = 10000 * i        
                    slice_end = 10000 * (i+1)        
                    sliced = data[slice_start:slice_end] # good to here

                    # save files with similar name (_1, _2, etc)
                    saveas = os.path.join(root, file, '_', i)
                    scipy.io.wavfile.write(saveas, 2000, sliced)
...