Python pydub AudioSegment MemoryError - PullRequest
       30

Python pydub AudioSegment MemoryError

1 голос
/ 13 февраля 2020

Я довольно новичок в Python и сталкиваюсь с проблемой MemoryError при попытке создать объект AUdioSegment из аудиофайла .mp3 размером 44 МБ. У меня нет проблем при работе с большинством аудио файлов, которые у меня есть, но все они меньше 1 МБ, за исключением этого. Вот и все, что я сейчас пытаюсь сделать:

audio = AudioSegment.from_file(filepath, format="mp3")

Вот полный вывод ошибки:

Exception in thread Thread-3:
Traceback (most recent call last):
  File "C:\Users\Owner\AppData\Local\Programs\Python\Python38-32\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "C:\Users\Owner\AppData\Local\Programs\Python\Python38-32\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\Owner\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 1366, in _readerthread
    buffer.append(fh.read())
MemoryError

Я не думаю, что файл размером 44 МБ будет вызвать MemoryError, но, очевидно, я ошибаюсь или что-то еще происходит в фоновом режиме, о котором я не знаю. Я попытался найти проблемы, связанные с памятью, при использовании AudioSegment, и все они, похоже, имеют дело с гораздо большими файлами. Любая помощь будет оценена. Спасибо!

1 Ответ

0 голосов
/ 25 марта 2020

Была именно эта проблема с файлом 50 МБ. Исправлено путем установки 64-битной Python. По какой-то причине у меня была 32-битная версия, и в ней не хватало памяти. 64-битная версия исправила все, и я мог работать с большими файлами.

...