Running a local Piper TTS server with Python on Linux

Поделиться
HTML-код
  • Опубликовано: 25 ноя 2024

Комментарии • 50

  • @WallaceSilva09
    @WallaceSilva09 9 месяцев назад +2

    I loved in the end "super simple", I'm a developer for me is simple.
    This is my first video of this channel,. I didn't know this channel that make videos about tts and I love this topic. I will subscribe and watch other videos from this channel.
    Thanks for to do this channel.

    • @ThorstenMueller
      @ThorstenMueller  9 месяцев назад +1

      Thanks a lot for your kind feedback and welcome to my amazing community 😊.

  • @pointlesspos8440
    @pointlesspos8440 9 месяцев назад +5

    I think it would be very helpful if you start with what you will accomplish, and then show how to get there. I had to zoom through the whole thing to see if this is even something I would want. It looks neat, but having some real-time examples would be good. I still don't even know if I would want to use this; because I don't know how long it takes to process the voice to text. So there would be little reason to actually download and run this process. Doing some real-time processing would go very far to providing helpful info. Thank you. You also don't discuss if cloning is an option, which is really required at this point.

    • @ThorstenMueller
      @ThorstenMueller  9 месяцев назад +2

      I understand and agree. In my newer videos i try to show what you can expect directly at the beginning, but sometimes i simply forget it.

  • @chydrwhtht
    @chydrwhtht 9 месяцев назад

    Totally Awesome!!, thanks for tutorial is so clear and helpful!! Greetings from Colombia, Guude!

    • @ThorstenMueller
      @ThorstenMueller  9 месяцев назад

      Thanks for your kind feedback and you're welcome 😊.

  • @Karlitoxzromero
    @Karlitoxzromero 7 месяцев назад

    First video I've seen and it was great, thank you. :-)

    • @ThorstenMueller
      @ThorstenMueller  7 месяцев назад

      Thanks a lot for your kind feedback 😊.

  • @michaelholding5469
    @michaelholding5469 8 месяцев назад

    Great tutorial and much to my surprise, I got it to work, and its really impressive voice quality. Is it possible to stream to speaker rather than a file ?

    • @ThorstenMueller
      @ThorstenMueller  8 месяцев назад +1

      Happy you got it working. I'm playing around with Wyoming-Piper right now and with that you have audio chunks you can stream or do you mean genereal streaming output for faster responses. IMHO Mike said, that a streaming function is available or should be available soon.

  • @khushpatel7060
    @khushpatel7060 6 месяцев назад

    Great Video, really helpful, I was looking for this locall TTS. I would like to know is streaming available in piper-tts?

    • @ThorstenMueller
      @ThorstenMueller  6 месяцев назад

      According to developer Mike Hansen streaming should be available but i hadn't time to play around with it, but it is on my TODO list.

  • @kianooshfooladi-u2e
    @kianooshfooladi-u2e 9 месяцев назад +1

    thanks. we are waiting for windows Piper TTS server. I tried this method for Windows but it was unsuccessful:
    ERROR: Could not find a version that satisfies the requirement piper-phonemize~=1.1.0 (from piper-tts) (from versions: none)
    ERROR: No matching distribution found for piper-phonemize~=1.1.0

    • @PaulMartin-qt9ux
      @PaulMartin-qt9ux 9 месяцев назад

      I'm getting the same issue using WSL Ubuntu. Let me know if you've found a resolution!

    • @ThorstenMueller
      @ThorstenMueller  8 месяцев назад +1

      I've added Piper TTS server on Windows on my TODO list 😊.

    • @pylotlight
      @pylotlight 8 месяцев назад

      @@ThorstenMueller I need to containerise this to deploy on my k8s cluster.

    • @miroh215
      @miroh215 8 месяцев назад

      @@PaulMartin-qt9ux If you haven't figured it out yet, the issue is your python version most likely. That's what it was for me. It works with python 3.9 but not 3.12

    • @PaulMartin-qt9ux
      @PaulMartin-qt9ux 8 месяцев назад +1

      @@miroh215 yep that was my problem. I had to downgrade!

  • @AndrewBjorklund
    @AndrewBjorklund 9 месяцев назад

    Very cool, got it working. Any advice on modifying model parameters on the http server as it is running?

    • @ThorstenMueller
      @ThorstenMueller  8 месяцев назад

      Thanks for your feedback 😊. You mean adjusting tts model after the model has been trained?

  • @hankhulator5007
    @hankhulator5007 7 месяцев назад

    Hi Thorsten, you can copy/paste with your mouse : select the text with it, position where you wanna paste and press the middle button (usually the wheel) and voilà - my €0.0187.

    • @ThorstenMueller
      @ThorstenMueller  7 месяцев назад

      Thanks for that hint 😃. I used this earlier but thought it might be easier to follow for viewers to show what i do using the context menu.

    • @hankhulator5007
      @hankhulator5007 7 месяцев назад

      @@ThorstenMueller OK - I forgot to say that, unless you activate the homology in terminal emulator settings, the mouse buffer is ≠ from the CTRL-C/CTRL-V one :)

  • @hobbyrider2
    @hobbyrider2 9 месяцев назад

    super Projekt immer weiter so :)

  • @UteRuspilz
    @UteRuspilz 8 месяцев назад

    Also ich bin mit Alltalk TTS schon recht zufrieden aber noch nicht 100%ig optimal. Mann muss alles immer nochmal korrektur hören, da es immer noch artefakte gibt. Weißt du, wo ich für coqui-tts (alltalk) pre-trained models auf deutsch finde? Gibt es irgendwo eine Plattform, wo trainierte Sprachmodelle geteilt werden?

    • @ThorstenMueller
      @ThorstenMueller  8 месяцев назад +1

      Eine vollständige Liste aller TTS Modelle kenne ich nicht, aber hier findest du die deutschsprachigen Coqui TTS Modelle. github.com/coqui-ai/TTS/blob/dbf1a08a0d4e47fdad6172e433eeb34bc6b13b4e/TTS/.models.json#L394

  • @thianesh9097
    @thianesh9097 5 месяцев назад +1

    I'm geeting an error,
    ERROR:root:Error during synthesis: [ONNXRuntimeError] : 6 : RUNTIME_EXCEPTION : Non-zero status code returned while running Reshape node.
    basically this error is occurring in the second time of the request. The first request is getting TTS fine. from second request this error is popping up and no TTS.

    • @thianesh9097
      @thianesh9097 5 месяцев назад +1

      Resolved after downgrading the onnx runtime.
      pip install onnxruntime==1.14.1

    • @ThorstenMueller
      @ThorstenMueller  5 месяцев назад

      Thanks for the update and happy you could fix it 😊.

  • @razalguhl6901
    @razalguhl6901 9 месяцев назад

    Hey. Als erstes mal mega Video! Ich suche schon seit fast 2 Tagen nach guten Tutorials und Dokumentationen die mir helfen könnten, ein TTS Modell zu benutzen und zu erstellen! Habe alles wie im Video gemacht und ohne Probleme hat auch alles geklappt vielen dank! :)
    Aber ich hätte eine kleine Frage.
    Wieso muss man einen lokalen Server machen? Wieso könnte ich das Modell nicht einfach in einem Skript laufen lassen?
    Und noch als kleines Feedback, was aber auch schon in den Kommentaren erwähnt worden ist. Es wäre Super, könntest du, wenn du sowas vorstellst am Anfang vielleicht ganz kurz zeigen, wie das Endprodukt aussehen würde. Denn ich brauche ein Modell, dass echt schnell antworten kann und bei diesem Modell war ich mir bisschen unsicher. Doch am ende konnte man sehen, dass es deinen Satz sehr schnell erzeugt hat. Sowas ganz am Anfang zu sehen, wäre beim nächsten mal noch ein großer + Punkt

    • @ThorstenMueller
      @ThorstenMueller  8 месяцев назад

      Vielen Dank für deine tolle Rückmeldung und freut mich, dass alles geklappt hat 😊.

  • @skysaville
    @skysaville 9 месяцев назад +1

    Nice!

  • @Jack-sn8po
    @Jack-sn8po 2 месяца назад

    Could this be a way to avoid fetch and load Times of the voice Model, which is needed when running piper without Server? I like to User piper with preloaded Model to convert tts much quicker. Please can you give a hint how? Thx

    • @ThorstenMueller
      @ThorstenMueller  Месяц назад

      I guess, yes. But i have to take a closer look to it.

  • @nuborn.studio
    @nuborn.studio 9 месяцев назад

    Im kinda new to python and its quite off-topic too. But im wondering, why you write the audiostream data to the output file via an loop? Do we have to write to file in chunks here or can we simply write all at once?

    • @ThorstenMueller
      @ThorstenMueller  9 месяцев назад +1

      Good question. I guess you should be able to save whole audio at once, but this was the first code snippet i found - probably on stackoverflow 😆.

    • @nuborn.studio
      @nuborn.studio 9 месяцев назад

      @enMuellerOkay. My thinking was that the audiostream data should already be present in the RAM at the time you want to write it to file, therefore i can't see any performance gain or stability issue. I guess if there's huge amounts of data to be written, or the source is somewhere else than the local machine, sure chunking would have it's place.

  • @gltalc
    @gltalc 9 месяцев назад

    Hello. Is it possible to have piper as a standalone server on a raspberry and just remotely send sentences to be processed on the moment to the speaker, and not have to download a .wav file? Thank you.

    • @ThorstenMueller
      @ThorstenMueller  8 месяцев назад

      Maybe running a python pip package with Wyoming might be interesting. Do you know my tutorial about this? ruclips.net/video/CYeOXw2ZWkw/видео.html

  • @RansbyJohan
    @RansbyJohan 3 месяца назад

    Can Piper use the GPU of the M1 processor?

    • @ThorstenMueller
      @ThorstenMueller  3 месяца назад

      Good question 🤔. I am not sure about that.

  • @KamilW24
    @KamilW24 8 месяцев назад

    Any chance for Mac M1/M2/M3?

    • @ThorstenMueller
      @ThorstenMueller  8 месяцев назад

      I've seen some issues on piper tts github community about that, but had not time to take a closer look. Did you join the issue discussion?
      github.com/rhasspy/piper/issues?q=is%3Aissue+m1

    • @KamilW24
      @KamilW24 8 месяцев назад +1

      Yes, still not working for me. Anyway, I’m Ubuntu user now 😅
      Thanks!

  • @KuLLzz2
    @KuLLzz2 3 месяца назад

    does this work on Windows?

    • @ThorstenMueller
      @ThorstenMueller  3 месяца назад

      I didn't try it yet, but i don't see a problem why it should not work on Windows. Did you try it and run into problems?