Как показать процент загруженного файла во время загрузки librosa?

#python-3.x #librosa

#python-3.x #librosa

Вопрос:

Я загружаю файл на Python, чтобы испортить его звук.
Я нашел библиотеку librosa для этого — пока работает отлично, но для загрузки файла требуется некоторое время.
Я хотел бы предоставить пользователю живую обратную связь о ходе загрузки, чтобы они знали, что ничего не сломано.
Кто-нибудь знает, откуда я могу получить такое значение прогресса загрузки?
Вот мой пример кода:

 import time
import librosa

start = time.time()
audio_path = r'C:Users....some_music_video_3_min_long.mp4'
audio, sampleRate = librosa.load(audio_path)
end = time.time()
print(f'Elapsed time: {round(end - start, 4)} s')
 

Мой вывод:

 C:Users...venvlibsite-packageslibrosacoreaudio.py:162: 
UserWarning: PySoundFile failed. Trying audioread instead.
warnings.warn("PySoundFile failed. Trying audioread instead.")
Elapsed time: 9.3724 s
 

Мой конечный результат между предупреждением и временем выглядит примерно так:

 1%
2%
....
100%
 

Комментарии:

1. Это не отвечает на вопрос, но обратите внимание, что librosa по умолчанию выполняет повторную дискретизацию звука до 22,05 кГц, и этот процесс повторной дискретизации происходит медленно. Вы можете предотвратить это, добавив sr=None в load функцию, что должно значительно ускорить ее.

2. @xdurch0 вау, это только что заставило его загружаться в 10 раз быстрее! Так что, я думаю, это не отвечает на него, но делает его почти «устаревшим», что для меня даже лучше — спасибо 🙂 Я оставляю этот вопрос здесь, хотя, кто знает, может быть, однажды мне понадобится это для гораздо больших файлов.