Я хочу:
Скачать аудиофайлы с Youtube
, что я сделал с pytube , однако он отформатирован в mp4 , хотя я установил для Only_audio значение True.
, затем превратите аудиофайлы в массивы numy
Существуют библиотеки, работающие с mp3, например, pydub, но не mp4.Когда я попробовал moviepy , это не удалось, потому что нет видео и, следовательно, нет частоты кадров.Я не хочу загружать видео, потому что это займет гораздо больше времени.
Обратите внимание, что я хочу аудио, а не видео.
Как можно:
скачать аудио с YouTube, и превратить его в массивы?
Спасибо за любую помощь:)
РЕДАКТИРОВАТЬ
Благодаря комментариям мне удалось превратить mp4 в mp3 с помощью ffmpeg
Однако, когда я попытался превратить его в массивы с помощью кода из , этот вопрос , который выглядит какэто:
def read(f, normalized=False):
"""MP3 to numpy array"""
a = pydub.AudioSegment.from_mp3(f)
y = np.array(a.get_array_of_samples())
if a.channels == 2:
y = y.reshape((-1, 2))
if normalized:
return a.frame_rate, np.float32(y) / 2**15
else:
return a.frame_rate, y
возникла эта ошибка:
Traceback (most recent call last):
File "C:\Users\myname\Google Drive\Python\Projects\Music\Downloads\Music Read.py", line 63, in <module>
print(read(x,True))
......
File "C:\Users\myname\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 1017, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
Это странно, потому что, как показано ниже, путь должен работать идеально
for f in os.listdir(path):
if (f.endswith(".mp3")):
print(f)
x = 'C:/Users/myname/Google Drive/Python/Projects/Music/Downloads/{}'.format(f)
print(os.path.exists(x))
print(open(x))
print(read(x,True))
вывод:
test-Copy.mp3
True
c:/users/myname/google drive/python/projects/music/downloads/test-copy.mp3
<_io.TextIOWrapper name='c:/users/myname/google drive/python/projects/music/downloads/test-copy.mp3' mode='r' encoding='cp1252'>
Кроме того, при вводе пути к файлу, который на самом деле не существует, выдается другая ошибка:
......
File "C:\Users\myname\AppData\Local\Programs\Python\Python36\lib\site-packages\pydub\utils.py", line 57, in _fd_or_path_or_tempfile
fd = open(fd, mode=mode)
FileNotFoundError: [Errno 2] No such file or directory: 'c:/users/myname/google drive/python/projects/music/downloads/hi'
Как использовать код из этот вопрос чтобы превратить mp3 в массивы, если я не могу, как еще?
кстати я работаю на Win10 с python 3.6
Я действительно надеюсь, что прояснил себя достаточно, и еще раз спасибо заранее за любые советы:)