Je eigen gratis tekst-naar-spraak engine in 2 minuten

Stel je wilt YouTube video's maken, maar je bent niet zo kapot van je eigen stem? Je kunt dan een zogenaamde TTS (Text-To-Speech)-service gebruiken. Zo'n service zet jouw geschreven teksten om naar gesproken woord. Er worden op internet veel van dit soort diensten aangeboden. De kosten varieren van een paar, tot tientallen euro's per maand. Dat kan voordeliger en veiliger! Tegenwoordig kun je namelijk gewoon je eigen tekst-naar-spraak-service opzetten op je eigen computer. En je hoeft echt niet in te leveren op de kwaliteit. In deze post leg ik uit hoe je in een handomdraai je eigen gratis TTS-service opzet op je lokale computer of op een server online. De service ondersteunt Nederlands, Engels en veel andere talen.

Wat heb je nodig voor jouw TTS-service?

Wat je nodig hebt voor je gratis TTS-service zijn de volgende dingen:

  • Een computer - Om de service op te draaien. Je hebt geen speciale hardware nodig zoals een GPU (grafische kaart).
  • Een browser - Om de tekst-to-speech service te gebruiken en teksten te laten produren die je kunt afspelen en downloaden.
  • Docker software - Om de gratis TTS software op te draaien. Deze software is gratis en kun je hier downloaden

Stappenplan

  1. Installeer de Docker Desktop Client software op je computer. Deze software maakt het mogelijk om zogenaamde containers op je computer te draaien. Een container is een geisoleerd stuk software (zoals de TTS-service die we zo gaan installeren) die onafhankelijk van alle andere software op je computer kan draaien. Je kunt containers ook weer gemakkelijk verwijderen zonder dat andere programma's op je computer daar last van hebben.
  2. Maak een directorie aan op je lokale computer van waaruit je de TTS-service wilt opstarten. In Windows kun je dit via Windows File Explorer doen. Op Linux of MacOS voer je in de Terminal het volgende commando uit:
1mkdir ~/Documents/my-tts
  1. Maak in deze nieuwe directorie een bestand aan met de naam docker-compose.yml.
  2. Voeg de volgende data toe aan dit docker-compose.yml bestand:
 1version: "3"
 2services:
 3  mimic3:
 4    image: mycroftai/mimic3:latest
 5    container_name: mimic3
 6    ports:
 7      - 59125:59125
 8    volumes:
 9      - ./data:/home/mimic3/.local/share/mycroft/mimic3
10    restart: always
  1. Het docker-compose.yml bestand gaan we in de volgende stap uitvoeren. Het bevat de instructies voor de Docker Desktop Client waarmee de gratis TTS-service gestart kan worden.
    • Regel 3: Is de unieke id van de service binnen dit docker-compose bestand.
    • Regel 4: Bevat de zogenaamde image, deze wordt van internet afgehaald en bevat het TTS-software-pakket Mimic3. Deze software is van het bedrijf [https://en.wikipedia.org/wiki/Mycroft_(software)](MyCroft AI) en mag worden gebruikt onder een Permissive License. Dat betekent dat je deze software in principe mag gebruiken voor allerlei (commerciele en niet-commerciele) doeleinden.
    • Regel 5: Is de naam waar de container aan te herkennen is als deze straks draait in Docker.
    • Regel 7: Bevat het poortnummer waarop de web server voor de TTS-service beschikbaar komt. Het nummer aan de linkerzijde kun je aanpassen om te zorgen dat de service op een andere poort beschikbaar komt. Verander de rechterkant niet!
    • Regel 9: Zorgt ervoor dat alles wat binnen de container in de directory: /home/mimic3/.local/share/mycroft/mimic3 zou worden opgeslagen, nu in de directory ./data wordt opgeslagen. Mocht je je container kwijtraken, dan staat de data op je lokale computer
    • Regel 10: Zorgt dat de container automatisch start als deze is uitgevallen.
  2. Tijd om de container te starten en te gaan spelen met tekst-naar-spraak. Voer het volgende commando uit om de service te starten:
    1docker-compose up -d
    

Tekst naar spraak omzetten

Nu de gratis TTS-service via deze container is gestart kun je via de browser naar deze url gaan: http://127.0.0.1:59125. Het volgende scherm verschijnt.

Dit is jouw eigen gratis TTS-service. Kies de gewenste taal, en daarbij de gewenste stem. Bij de eerste keer dat je een stem kiest kost het omzetten van de tekst naar spraak iets meer tijd. Daarna gaat het sneller. Je kunt nu naar hartelust experimenteren.

Container stoppen

Ben je klaar met het omzetten van tekst naar spraak. Dan kun je de container uitzetten om systeemresources te besparen. Voer dan het volgende commando uit in de directorie waar je het docker-compose.yml bestand hebt neergezet:

1docker-compose down

Als je de tekst-to-speech service altijd beschikbaar wilt hebben, dan hoef je niets te doen. De service start als je je computer opstart en stopt als je computer wordt afgesloten.

Succes met texten!

Vertalingen: