使用谷歌驱动器中的文件而不是在 colab 中上传

问题描述

我正在关注

https://colab.research.google.com/drive/1tzUmbS4lFP3xr6khSojg2vFCAx6xfW5r#scrollTo=EfkTM9TjUCRx

实时语音克隆。

我需要有关此笔记本的第二部分的帮助,我们必须在其中记录或上传文件。 我的谷歌驱动器中有多个文件,我已将它们安装在 colab 中,并想使用它们而不是从 pc 上传相同的文件(这很慢)

谁能帮我解决这个代码块?喜欢从我们的驱动器中使用 wav/mp3 而不是通过上传文件按钮上传它们?

想要更改此代码以使用本地文件而不是从 pc 上传

#@title Run this cell to Record or Upload Audio
#@markdown * Either record audio from microphone or upload audio from file (.mp3 or .wav) 

SAMPLE_RATE = 22050
record_or_upload = "Upload (.mp3 or .wav)" #@param ["Record","Upload (.mp3 or .wav)"]
record_seconds =   13111#@param {type:"number",min:219,max:10,step:3}

embedding = None
def _compute_embedding(audio):
  display(Audio(audio,rate=SAMPLE_RATE,autoplay=True))
  global embedding
  embedding = None
  embedding = encoder.embed_utterance(encoder.preprocess_wav(audio,SAMPLE_RATE))
def _record_audio(b):
  clear_output()
  audio = record_audio(record_seconds,sample_rate=SAMPLE_RATE)
  _compute_embedding(audio)
def _upload_audio(b):
  clear_output()
  audio = upload_audio(sample_rate=SAMPLE_RATE)
  _compute_embedding(audio)

if record_or_upload == "Record":
  button = widgets.Button(description="Record Your Voice")
  button.on_click(_record_audio)
  display(button)
else:
  #button = widgets.Button(description="Upload Voice File")
  #button.on_click(_upload_audio)
  _upload_audio("")

我已经完成了:

from google.colab import drive
drive.mount('/content/drive/')

然后

%cp -av "/content/drive/MyDrive/test.wav" "/content/"

test.wav 现在被复制了,我想直接使用它而不是上传或记录。

解决方法

如果我正确理解了问题,您想直接从谷歌云端硬盘读取文件。步骤:

安装谷歌驱动器:

from google.colab import drive
drive.mount('/content/gdrive/')

之后cd到你有文件的目录:

curr_dir =  "/content/gdrive/My Drive/path/to/files/"
%cd "$curr_dir"

我的云端硬盘 是 Google 云端硬盘的主目录(打开 google 云端硬盘时会进入该目录)。然后您就可以像从本地驱动器读取文件一样读取文件了。