簡體   English   中英

Librosa 從 URL 讀取 MP3 音頻

[英]Librosa read MP3 audio from URL

我正在嘗試使用 Librosa 從 URL 讀取 Mp3 音頻。 我了解 Librosa 首先使用 PySoundFile 加載音頻,如果失敗,則使用 audioread。

到目前為止,我有以下代碼:

import librosa
import io
from six.moves.urllib.request import urlopen

url = "https://sneezoramafunction.blob.core.windows.net/usersounds/00bd9b8c914947d48724fd7e0c88041b.mp3"

data, samplerate = librosa.load(io.BytesIO(urlopen(url).read()))

但這給了我以下錯誤:

RuntimeError:打開 <_io.BytesIO object at 0x1c234747d0> 時出錯:文件包含未知格式的數據。

此外,我將在 Azure ML 服務上部署它,並且沒有任何可用的本地存儲。

謝謝大家的任何幫助/建議

我不認為 Librosa 可以采用 BytesIO 類型的 object 並自行處理它。 您可能需要將其保存在本地(wav/mp3),然后使用 Librosa 加載。

z = io.BytesIO(urlopen(url).read())
import pathlib
pathlib.Path(('/home/<name>/sneeze.wav').write_bytes(z.getbuffer())
data, sr = librosa.load('/home/<name>/sneeze.wav')

librosa 使用soundfileaudioread來加載音頻文件。 請注意, soundfile當前不支持MP3 ,這將導致librosa退回到audioread庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM