Это код, который у меня есть на данный момент, но он не работает должным образом, так как разделяется звук порциями размером около 2 МБ
Код: Выделить всё
def audio_splitter(audio_file)
audio = AudioSegment.from_file(audio_file)
# Set the chunk size and overlap
target_chunk_size = 20 * 1024 * 1024 # Target chunk size in bytes (20 MB)
# Overlap in milliseconds (10 seconds)
overlap_duration = 10 * 1000
# Estimate the number of bytes per millisecond in the audio
bytes_per_ms = len(audio.raw_data) / len(audio)
# Calculate duration of each chunk in milliseconds
chunk_duration = int(target_chunk_size / bytes_per_ms)
chunks = []
start = 0
while start < len(audio):
end = start + chunk_duration
chunk = audio[start:end]
chunks.append(chunk)
start += chunk_duration - overlap_duration
for i, chunk in enumerate(chunks):
chunk.export(f"chunk_{i + 1}.mp3", format="mp3")
Есть ли лучший способ решить эту проблему?
Подробнее здесь: https://stackoverflow.com/questions/791 ... -dimension