Как удалить тихий чанк из разделенного чанка в python? - PullRequest
1 голос
/ 12 апреля 2019

У меня есть несколько речевых аудиофайлов, которые я хочу разделить на 30-секундные фрагменты, вот код

# Split Audios to 30 sec
from pydub import AudioSegment
from pydub.utils import make_chunks

myaudio = AudioSegment.from_file('wav.audios/file_Name.wav' , "wav")
chunk_length_ms = 30000 # pydub calculates in millisec
chunks = make_chunks(myaudio, chunk_length_ms) #Make chunks of one sec

#Export all of the individual chunks as wav files

for i, chunk in enumerate(chunks):
    chunk_name = 'parts/chunk{0}.wav'.format(i)
    print("exporting", chunk_name)
    chunk.export(chunk_name, format="wav")

Один фрагмент аудио всегда является бесшумным (последний), я хочу, чтобы python обнаружил его и удалил, поэтому я получаю кусок файлов, которые не молчат. Как я могу это сделать?

1 Ответ

2 голосов
/ 12 апреля 2019

Просто удалите последний кусок, используя - del chunks[-1], как показано ниже.

from pydub import AudioSegment
from pydub.utils import make_chunks

myaudio = AudioSegment.from_file('wav.audios/file_Name.wav' , "wav")
chunk_length_ms = 30000 # pydub calculates in millisec
chunks = make_chunks(myaudio, chunk_length_ms)
del chunks[-1]

for i, chunk in enumerate(chunks):
    chunk_name = 'parts/chunk{0}.wav'.format(i)
    print("exporting", chunk_name)
    chunk.export(chunk_name, format="wav")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...