FileNotFoundError в Jupyter Notebook, хотя файл там есть - PullRequest
1 голос
/ 06 апреля 2020

Все это было написано в Jupyter Notebook онлайн. Что должно произойти, так это то, что первая строка кода - это команда, которая преобразует какой-то файл в папке с надписью «capstone» в mp4. Это работает нормально, однако проблема, с которой я сталкиваюсь, это «FileNotFoundError», и я не уверен, почему это происходит, так как я проверяю, есть ли файл, он на самом деле там.

!ffmpeg -i recording1.mov -q:v 0 output.mp4

import librosa
audio_path = '/home/gentry/capstone/output1.mp4'
x , sr = librosa.load(audio_path)
print(type(x), type(sr))

import matplotlib.pyplot as plt
import librosa.display
plt.figure(figsize=(14, 5))

librosa.display.waveplot(x, sr=sr)

X = librosa.stft(x)
Xdb = librosa.amplitude_to_db(abs(X))
plt.figure(figsize=(14, 5))

librosa.display.specshow(Xdb, sr=sr, x_axis='time', y_axis='hz') 

librosa.display.specshow(Xdb, sr=sr, x_axis='time', y_axis='log')

Выходными данными должны быть визуализированная форма волны звука и два последующих графика преобразования Фурье. Я могу предоставить дополнительную информацию по запросу

Ответы [ 2 ]

2 голосов
/ 06 апреля 2020

Хорошо, я просто внесу небольшие изменения в ваш код, чтобы все пути были относительными, поэтому ошибка не может быть связана с неправильным указанным вами ручным строковым путем.

Сначала я выполнил эту команду как:

!ffmpeg -i recording1.mov -q:v 0 output.mp4

затем, чтобы убедиться, что у меня есть правильный вывод

!ls | grep output

, который должен дать вам

output.mp4

Тогда, как я знаю, файл находится в том же каталоге как моя записная книжка, я сделаю команду загрузки следующим образом:

import librosa
audio_path = './output.mp4'
x , sr = librosa.load(audio_path)
print(type(x), type(sr))

, которая отлично работает и загружает аудио компонент, мои фиги могут совершенно отличаться от ваших, так как я использую какое-то случайное видео, а не ваше входное видео, как не предоставляется

enter image description here

0 голосов
/ 06 апреля 2020

На самом деле это просто простая ошибка отличия путей, поскольку это было предоставлено мне профессором, поэтому audio_path = '/home/gentry/capstone/output1.mp4' должно быть просто audio_path = './output1.mp4'

...