Как установить и запустить Tacotron2 на Ubuntu WSL?

Aug 17 2020

Я запускаю Ubuntu 20.04 на WSL Windows 10 Pro 2004 (19041.388), и мне очень хочется запустить Tacotron2 и опробовать его функциональность. Я установил Tacotron2 из git через командную строку, но не уверен, успешно ли он построен. Я новичок в Linux и Docker, и инструкции по установке из указанного выше Tacotron2 кажутся запутанными.

Итак, вот где я нахожусь:

  1. Установлен Docker, подтвержден, все в порядке.
  2. Загруженные Tacotron2 через мерзавец CMD линия - успех.
  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, но я очень хочу знать, иду ли я по неправильному пути.

Ответы

2 wisp Aug 19 2020 at 14:48

Ваша проблема очень похожа на https://github.com/Rayhane-mamah/Tacotron-2/issues/475

Проблема возникает из-за того, что libav-toolsв вашем Dockerfile есть директивы по установке, для которых больше нет кандидатов на установку.

Для устранения ошибки нужно открыть 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уже находится в этом списке, вам не нужно добавлять его снова.

Вы также можете удалить libav-toolsиз Dockerfile с помощью команды sed в оболочке WSL (может потребоваться добавить sudoперед sed, если у вас есть ошибка с разрешениями):

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

Затем ваша команда сборки должна пройти.