【问题标题】:Load audio from google storage using google colab (Python)使用 google colab (Python) 从 google 存储加载音频
【发布时间】:2021-04-05 02:58:54
【问题描述】:

我将音频文件以 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)

但错误:找不到文件名。[Errno 2] 没有这样的文件或目录

我的问题:如何从谷歌存储中加载音频/如何从谷歌存储中读取音频

【问题讨论】:

标签: python librosa audio-analysis


【解决方案1】:

Librosa 使用不支持 Google 文件系统的原生 python io 实现。你可以使用 tensorflow 的 GFile 实现。

类似的,

import numpy as np
import IPython.display as ipd
import librosa
import soundfile as sf
import io
from google.cloud import storage
import os
import tensorflow.io.gfile as gf

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
    with gf.GFile(filename, 'rb') as fp:
        X, sample_rate = librosa.core.load(fp)

【讨论】:

  • 感谢您的回复和帮助,但是,我收到此错误 ModuleNotFoundError: No module named 'tensorflow.gfile', which tensorflow that适合 tensorflow.gfile
  • 运行 pip install tensorflow-io。然后使用更新的导入语句重试。
  • AttributeError: 模块 'tensorflow.io.gfile' 没有属性 'Open' 已经可以导入但面临另一个问题,没有属性 'Open'...
  • 抱歉一直寻求帮助,我收到了这个与文件格式有关的新错误,我的音频为 wav 格式 RuntimeError: Error opening :文件包含未知格式的数据。为什么在执行代码时,gf.GFile(filename) as fp: X, sample_rate = librosa.core.load(fp) fp 不返回文件名,它返回这个“tensorflow.python.platform.gfile.GFile对象位于 0x7f884c60eed0"
  • 尝试打开二进制文件。
猜你喜欢
  • 2018-10-19
  • 1970-01-01
  • 2020-04-08
  • 1970-01-01
  • 2020-03-13
  • 2019-09-10
  • 2022-08-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多