How to install and run Tacotron2 on Ubuntu WSL?

Viewed 745

I am running Ubuntu 20.04 on WSL Windows 10 Pro 2004 (19041.388), and I am very much wanting to run Tacotron2 and try out the functionality. I have installed Tacotron2 from git via command-line, but I'm uncertain whether it built successfully. I am a beginner with Linux and Docker, and the install instructions from above-linked Tacotron2 seems confusing.

So here is where I am at:

  1. Installed Docker, confirmed up and running, all good.
  2. Downloaded Tacotron2 via git cmd-line - success.
  3. Executed this command: sudo docker build -t tacotron-2_image -f docker/Dockerfile docker/ - a lot of stuff happened that seemed successful, but at the end, there was an error:

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

At this point I am stuck. It's true that I'm looking to get unstuck on this error, but comprehensively I'm looking for exact steps to be able to run Tacotron2 and ultimately be able to feed it an mp3 file with someone's voice, and then be able to feed it some text, which it will then "speak" in that voice.

That is my understanding of what Tacotron2 is, but I am keen to know if I am going down the wrong path.

1 Answers

Your issue looks quite similar to https://github.com/Rayhane-mamah/Tacotron-2/issues/475

The issue happens because you have libav-tools installation directives in your Dockerfile which is no longer has installation candidates.

To eliminate the error you need to open docker/Dockerfile in any text editor and remove libav-tools from the line that contains

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

to have something like

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

Since package ffmpeg already in this list you don't need to add it again.

You can also remove libav-tools from the Dockerfile using sed command in the WSL shell (might need to add sudo before sed if you have error with permissions):

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

Then your build command should pass.

Related