python - 如何从谷歌存储中加载音频/如何从谷歌存储中读取音频
问题描述
我将音频文件以 wav 格式保存在 google 存储中,但是当我尝试使用 google colab 加载音频时,我无法做到。
在我用来从谷歌存储加载音频的示例下方。
import numpy as np
import IPython.display as ipd
import librosa
import soundfile as sf
import io
from google.cloud import storage
import os
from google.colab import auth
auth.authenticate_user()
os.environ["GCLOUD_PROJECT"] = "fundpro" #project_id
BUCKET = 'parli-2020' #bucket_name
gcs = storage.Client()
bucket = gcs.get_bucket(BUCKET)
import speech_recognition as sr
for blob in bucket.list_blobs(prefix='speech/Transcribe'):
filename = 'gs://parli-2020/' + blob.name
X, sample_rate = librosa.core.load(filename)
但它显示了这个错误;
filename cannot be found.[Errno 2] No such file or directory
如果有人可以帮助我,我将非常感谢...
谢谢
解决方案
Librosa 不支持 GCS 协议,如源代码文档中所述
因此,要使用路径兼容的解决方案,您可以使用 gcsfs 库
from fs import open_fs
...
...
for blob in bucket.list_blobs(prefix='speech/Transcribe'):
filename = 'gs://parli-2020/' + blob.name
gcsfs = open_fs(filename)
X, sample_rate = librosa.core.load(gcsfs)
推荐阅读
- node.js - Electron Forge v6、Keytar & Node-Loader 错误“找不到合适的图像...文件太短”
- node.js - Object.assign 所需的模块?
- pine-script - 在 for 循环中绘图?
- java - 拦截器似乎不起作用 CrudRepository 保存方法 Spring Boot 2.x
- tensorflow - Tensorflow 中是否有与 PyTorch 的 RandomResizedCrop 等价的东西?
- javascript - 不显示完整日历中的自定义按钮
- node.js - 生产中的 Vue 秘密
- javascript - 如何在实例模式下使用 p5.js 声音
- plotly - 如何在 Plotly 中自动化甘特图
- ios - 使用 QR 在 iOS 上保存联系人