จะติดตั้งและเรียกใช้ Tacotron2 บน Ubuntu WSL ได้อย่างไร

Aug 17 2020

ฉันใช้ Ubuntu 20.04 บน WSL Windows 10 Pro 2004 (19041.388) และฉันต้องการเรียกใช้Tacotron2เป็นอย่างมากและลองใช้ฟังก์ชันนี้ ฉันติดตั้ง Tacotron2 จากคอมไพล์ผ่านบรรทัดคำสั่งแล้ว แต่ฉันไม่แน่ใจว่าสร้างสำเร็จหรือไม่ ฉันเป็นมือใหม่กับ Linux และ Docker และคำแนะนำในการติดตั้งจาก Tacotron2 ที่เชื่อมโยงด้านบนดูเหมือนจะสับสน

นี่คือที่ที่ฉันอยู่:

  1. ติดตั้ง Docker ยืนยันและใช้งานได้ดีทั้งหมด
  2. ดาวน์โหลดTacotron2ผ่าน git cmd-line - สำเร็จ
  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'

จากนั้นคำสั่ง build ของคุณควรผ่าน