Using Piper

Navigate to Piper and follow the setup instructions below to run Piper locally as a TTS backend.

Setting Up Piper Locally

Method 1: Setup via Docker

  1. Clone the artibex/piper repository:

    git clone git@github.com:artibex/piper-http.git
  2. Navigate to the piper-http directory:

    cd piper-http
  3. Add CORS support by installing Flask CORS in the Dockerfile. To do this, locate the Dockerfile and add the following line:

    RUN pip install flask_cors
  4. Build the Piper Docker image:

    docker build -t http-piper .
  5. Run the Piper Docker container:

    docker run --name piper -p 5000:5000 piper
  6. To allow CORS within the Piper server, modify the http_server.py file inside the running Docker container:

    • Navigate to the piper-http container's files:

      docker exec -it piper /bin/bash
    • Locate the http_server.py file:

      cd /app/piper/src/python_run/piper
    • Edit http_server.py and add the following lines at the top to enable CORS:

      from flask_cors import CORS
      CORS(app)
  7. Save the changes and restart the Piper server inside the container:

    python3 http_server.py

Method 2: Manual Setup

  1. Clone the repository:

    git clone https://github.com/flukexp/PiperTTS-API-Wrapper.git
  2. Navigate to the project directory:

    cd PiperTTS-API-Wrapper
  3. Download piper, install Piper sample voices and start piper server:

    ./piper_installer.sh

Make sure Piper is enabled for TTS:

Settings -> Text-to-Speech -> TTS Backend -> Piper

Notes

  • Piper can be used as a local text-to-speech backend in your application.

  • For more details on models and configurations, refer to the official Piper GitHub repository.

Last updated