Pydub Split при ошибке молчания: UnboundLocalError: локальная переменная start_ii, на которую ссылается перед назначением - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь запустить код python с библиотекой pydub, который должен разбивать аудиофайл на тихие части. Код довольно короткий, но я все равно получаю непонятные ошибки. Большое спасибо за вашу помощь:

Полное сообщение об ошибке:

Traceback (most recent call last):
  File "app.py", line 7, in <module>
    chunks = split_on_silence(sound, 
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pydub/silence.py", line 134, in split_on_silence
    chunks.append(audio_segment[max(start_min, start_ii - keep_silence):
UnboundLocalError: local variable 'start_ii' referenced before assignment

Код:

from os import path
from pydub import AudioSegment
from pydub.silence import split_on_silence


sound = AudioSegment.from_mp3("test5.mp3")
chunks = split_on_silence(sound, 
    # must be silent for at least half a second
    min_silence_len=500,

    # consider it silent if quieter than -16 dBFS
    silence_thresh=-16
)

for i, chunk in enumerate(chunks):
    chunk.export("chunk{0}.wav".format(i), format="wav")

1 Ответ

0 голосов
/ 31 мая 2020

Вам необходимо настроить аргумент silence_thresh. Вы можете начать с присвоения ему значения, которое вы получаете при вызове sound.dBFS, а затем корректировать значение, пока оно не сработает, или вы.

...