【问题标题】:How to install and run Tacotron2 on Ubuntu WSL?如何在 Ubuntu WSL 上安装和运行 Tacotron2?
【发布时间】:2020-08-16 17:43:37
【问题描述】:

我在 WSL Windows 10 Pro 2004 (19041.388) 上运行 Ubuntu 20.04,我非常想运行 Tacotron2 并试用该功能。我已经通过命令行从 git 安装了 Tacotron2,但我不确定它是否构建成功。我是 Linux 和 Docker 的初学者,上面链接的 Tacotron2 的安装说明似乎令人困惑。

这就是我所在的地方:

  1. 安装好 Docker,确认启动并运行,一切正常。
  2. 通过 git cmd-line 下载 Tacotron2 - 成功。
  3. 执行了这个命令:sudo docker build -t tacotron-2_image -f docker/Dockerfile docker/ - 发生了很多看似成功的事情,但最后却出现了错误:

Package libav-tools is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it:

ffmpeg

E: Package 'libav-tools' has no installation candidate The command '/bin/bash -c apt-get install -y libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg libav-tools wget git vim'

returned a non-zero code: 100

此时我被卡住了。确实,我希望摆脱这个错误,但总的来说,我正在寻找能够运行 Tacotron2 并最终能够用某人的声音为其提供 mp3 文件的确切步骤,然后能够提供它一些文本,然后它将以该声音“说出”。

这是我对 Tacotron2 的理解,但我很想知道我是否走错了路。

【问题讨论】:

  • 您是否尝试安装ffmpeg? (也可能有一个ffmpeg-delev(或类似的)也可能有帮助)。否则,我没有想法,嗯,除了找到一个tacotron2 特定的用户/开发者论坛,可能附加到它的开发者网站?祝你好运!
  • sudo docker build?理想情况下,您的用户是 docker 组的一部分,不需要 sudo。
  • shellter,我安装了 ffmpeg(不确定是否已经安装),然后重新运行 sudo docker build -t tacotron-2_image -f docker/Dockerfile docker/ - 并得到了同样的错误,但更早。我发现另一篇文章说:“修改 Dockerfile 并用 ffmpeg 替换 libav-tools” - 我不知道该怎么做。
  • VonC:不确定你的意思。 Docker 已经安装并正在运行。我可以成功运行Hello World docker image。
  • 抱歉ffmpeg 没有解决您的问题。我在上面看到一个错字,可能需要fmpeg-devel 或类似的东西?有时安装系统会忽略这些明显的问题。同样,我会查看开发人员网站。如果您发现其他人遇到此问题,则可能存在尚未渗透到 S.O. 的解决方案。然而。祝你好运。

标签: linux docker ubuntu windows-subsystem-for-linux


【解决方案1】:

您的问题与https://github.com/Rayhane-mamah/Tacotron-2/issues/475 非常相似

出现此问题是因为您的 Dockerfile 中有 libav-tools 安装指令,而该指令不再具有安装候选者。

要消除错误,您需要在任何文本编辑器中打开 docker/Dockerfile 并从包含的行中删除 libav-tools

apt-get install -y libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg libav-tools wget git vim

拥有类似的东西

apt-get install -y libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg wget git vim

由于包ffmpeg已经在此列表中,您无需再次添加。

您还可以在 WSL shell 中使用 sed 命令从 Dockerfile 中删除 libav-tools(如果您有权限错误,可能需要在 sed 之前添加 sudo):

sed -i docker/Dockerfile -e 's/libav-tools\ //g'

那么你的构建命令应该会通过。

【讨论】:

  • wisp,成功了,非常感谢。对于我的综合问题,您还有其他建议吗:I would greatly appreciate a set of steps suitable for noobs that can be followed with precision to run Tacotron2 - 并且能够训练自定义语音来执行 TTS。
  • @HerrimanCoder 您在问题中提供的 repo 看起来有点过时(大约 2 年没有新的提交)。也许你想看看这个:github.com/NVIDIA/tacotron2?如果您认为第一个 repo 仍然相关,您可以尝试不使用 docker(如果您可以将 python3、所有库和包安装到您的 WSL 系统 - 那么您根本不必使用 docker)。
猜你喜欢
  • 1970-01-01
  • 2023-01-03
  • 2020-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多