¿Cómo instalar y ejecutar Tacotron2 en Ubuntu WSL?

Aug 17 2020

Estoy ejecutando Ubuntu 20.04 en WSL Windows 10 Pro 2004 (19041.388) y tengo muchas ganas de ejecutar Tacotron2 y probar la funcionalidad. He instalado Tacotron2 desde git a través de la línea de comandos, pero no estoy seguro de que se haya construido correctamente. Soy un principiante con Linux y Docker, y las instrucciones de instalación de Tacotron2 vinculadas anteriormente parecen confusas.

Así que aquí es donde estoy:

  1. Docker instalado, confirmado y funcionando, todo bien.
  2. Tacotron2 descargado a través de git cmd-line: éxito.
  3. Ejecutó este comando: sudo docker build -t tacotron-2_image -f docker/Dockerfile docker/- sucedieron muchas cosas que parecían exitosas, pero al final, hubo un 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

En este punto estoy estancado. Es cierto que estoy buscando despejarme en este error, pero de manera integral estoy buscando pasos exactos para poder ejecutar Tacotron2 y finalmente poder alimentarlo con un archivo mp3 con la voz de alguien, y luego poder alimentarlo. algún texto, que luego "hablará" con esa voz.

Ese es mi entendimiento de lo que es Tacotron2, pero estoy ansioso por saber si voy por el camino equivocado.

Respuestas

2 wisp Aug 19 2020 at 14:48

Tu problema se parece bastante a https://github.com/Rayhane-mamah/Tacotron-2/issues/475

El problema ocurre porque tiene libav-toolsdirectivas de instalación en su Dockerfile que ya no tiene candidatos para la instalación.

Para eliminar el error es necesario abrir docker/Dockerfileen cualquier editor de texto y eliminar libav-toolsde la línea que contiene

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

tener algo como

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

Dado que el paquete ffmpegya está en esta lista, no es necesario que lo vuelva a agregar.

También puede eliminar libav-toolsdel Dockerfile usando el comando sed en el shell de WSL (es posible que deba agregar sudoantes de sed si tiene un error con los permisos):

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

Entonces su comando de compilación debería pasar.