Когда я пытаюсь прочитать mp3-файл длительностью 55 минут и размером 22 МБ с модулем AudioSegment в Python. Я получаю эту ошибку памяти.
Traceback (most recent call last):
File "D:\...\pydev\pydevd.py", line 1448, in _exec
pydev_imports.execfile(file, globals, locals) # execute the script
File "D:\...\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "D:/.../Audio_to_text/2Aug.py", line 112, in <module>
audio_file = AudioSegment.from_file(file)
File "C:\...\Python\Python38-32\lib\site-packages\pydub\audio_segment.py", line 729, in from_file
obj = cls._from_safe_wav(BytesIO(p_out))
File "C:\...\Python\Python38-32\lib\site-packages\pydub\audio_segment.py", line 761, in _from_safe_wav
obj = cls(data=file)
File "C:\...\Python\Python38-32\lib\site-packages\pydub\audio_segment.py", line 222, in __init__
wav_data = read_wav_audio(data)
File "C:\...\Python\Python38-32\lib\site-packages\pydub\audio_segment.py", line 132, in read_wav_audio
data[pos:pos + data_hdr.size])
MemoryError
python-BaseException
Я уверен, что эта ошибка не из-за IDE, поскольку я пробовал ее на разных IDE и получил аналогичную ошибку.
Это должно что-то делать с самим модулем AudioSegment. Отладчик указывает на эти строки AudioSegment.py
line 729, in from_file obj = cls._from_safe_wav(BytesIO(p_out))
line 761, in _from_safe_wav obj = cls(data=file)
line 222, in __init__ wav_data = read_wav_audio(data)
line 132, in read_wav_audio data[pos:pos + data_hdr.size])
Мне нужна помощь, есть ли способ решить эту ошибку AudioSegment? Если нет, то какие у меня есть другие лучшие варианты для обработки файлов длиной более часа? Я хочу разделить эти длинные файлы на части по 10-15 минут!
Моя Python версия - 3.8.2