Проблема: я пытаюсь загрузить аудио с Youtube через Pytube, сохранить его в буфере (Я не хочу сохранять аудио на диск), а затем преобразуйте его в массив numpy, чтобы построить необработанную звуковую волну. После конвертации я пытаюсь преобразовать его обратно в звук и вместо 12 минут звука из видео получаю 12 секунд статического шума. При сохранении буфера в .mp4 все работает нормально. Я совершенно запутался и буду признателен за любую помощь.
Программа:
from IPython.display import Audio
from pytube import YouTube
import numpy as np
from io import BytesIO
yt = YouTube('https://www.youtube.com/watch?v=zrqqrQmeQS4')
# getting audio stream
audioStreams = list(map(lambda streamObj: streamObj.itag, yt.streams.filter(only_audio=True)))
activeStream = yt.streams.get_by_itag(audioStreams[0])
# saving to buffer
bufferObj = BytesIO()
activeStream.stream_to_buffer(bufferObj)
# saving buffer to ndarray
bufferObj.seek(0)
points_array = np.frombuffer(bufferObj.read())
# preprocessing raw numpy data
points_array = np.round(points_array,10)
points_array[np.isinf(points_array) | np.isnan(points_array)] = 0
return Audio(points_array, rate=44.1 * 1000)
Подробнее здесь: https://stackoverflow.com/questions/764 ... -sine-wave
Как правильно преобразовать Pytube bufferIO в массив numpy, представляющий синусоидальную волну? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как читать синусоидальную волну, создаваемую датчиком переменного сопротивления
Anonymous » » в форуме C++ - 0 Ответы
- 31 Просмотры
-
Последнее сообщение Anonymous
-