问题
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. Please be patient with me because I am noobish with linux and docker, and the install instructions from above-linked Tacotron2 seems confusing. If someone could help, I think a simplified and comprehensive set of steps could help a lot of people.
So here is where I am at:
- Installed docker, confirmed up and running, all good.
- Downloaded Tacotron2 via git cmd-line - success.
- 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 because I don't know how to resolve this. Initially it's true that I'm looking for help 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 please tell me if I'm confused or going down the wrong path. If my path is right I would greatly appreciate a set of steps suitable for noobs that can be followed with precision to achieve what I am after. I think this will help a lot of people beyond just me.
Thanks in advance. I know I'm asking for more than a 1-liner simple answer, but I'll be happy to give a few hundred bounty points for a comprehensive answer (including model training steps, etc), if that is of any value.
回答1:
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 elliminate 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.
来源:https://stackoverflow.com/questions/63440113/how-to-install-and-run-tacotron2-on-ubuntu-wsl