Streaming Text to Speech
Deze handleiding behandelt drie manieren: spraak genereren als bestand, de audioreactie rechtstreeks streamen en gegenereerde audio optioneel uploaden naar een AWS S3-bucket om die via een ondertekende URL te delen.
Deze handleiding gaat ervan uit dat je je API-sleutel en SDK hebt ingesteld. Voltooi eerst de quickstart als je dat nog niet hebt gedaan. Voor het optionele gedeelte over uploaden naar S3 heb je ook een AWS-account met toegang tot S3 nodig.
Benieuwd waarom streaming werkt zoals het werkt? Audiostreaming begrijpen legt het protocol, buffering en de afwegingen rond latentie uitgebreid uit.
Tekst omzetten naar spraak (bestand)
Om tekst naar spraak om te zetten en als bestand op te slaan, gebruiken we de convert-methode van de ElevenLabs SDK en slaan we die vervolgens lokaal op als een .mp3-bestand.
Je kunt deze functie vervolgens uitvoeren met:
Tekst omzetten naar spraak (streaming)
Als je de audio liever rechtstreeks streamt zonder deze als bestand op te slaan, kun je onze streamingfunctie gebruiken.
Je kunt deze functie vervolgens uitvoeren met:
Extra - Uploaden naar AWS S3 en een beveiligde deellink ophalen
Zodra je audiogegevens als bestand of stream zijn gemaakt, wil je deze misschien met je gebruikers delen. Je kunt dit doen door ze naar een AWS S3-bucket te uploaden en een beveiligde deellink te genereren.
Je AWS-inloggegevens maken
Om de gegevens naar S3 te uploaden, moet je je AWS-access key ID, secret access key en AWS-regionaam aan je .env-bestand toevoegen. Volg deze stappen om de inloggegevens te vinden:
- Log in bij je AWS Management Console: ga naar de AWS-homepage en log in met je account.

- Open het IAM-dashboard (Identity and Access Management): je vindt IAM onder “Security, Identity, & Compliance” in het servicemenu. Via het IAM-dashboard beheer je de toegang tot je AWS-services op een veilige manier.

- Maak een nieuwe gebruiker (indien nodig): selecteer in het IAM-dashboard “Users” en vervolgens “Add user”. Voer een gebruikersnaam in.

- Stel de machtigingen in: koppel beleidsregels rechtstreeks aan de gebruiker volgens het toegangsniveau dat je wilt verlenen. Voor S3-uploads kun je het beleid AmazonS3FullAccess gebruiken. Het is echter aan te raden om minimale rechten toe te kennen: alleen de machtigingen die nodig zijn om een taak uit te voeren. Je kunt een aangepast beleid maken dat specifiek alleen de benodigde acties in je S3-bucket toestaat.

- Controleer en maak de gebruiker: controleer je instellingen en maak de gebruiker. Na het maken krijg je een access key ID en een secret access key. Download en bewaar deze inloggegevens veilig; je kunt de secret access key na deze stap niet opnieuw ophalen.

- Haal de AWS-regionaam op: bijvoorbeeld us-east-1

Als je nog geen AWS S3-bucket hebt, moet je een nieuwe maken met de volgende stappen:
- Open het S3-dashboard: je vindt S3 onder “Storage” in het servicemenu.

- Maak een nieuwe bucket: klik in het S3-dashboard op de knop “Create bucket”.

- Voer een bucketnaam in en klik op de knop “Create bucket”. Je kunt de andere bucketopties op de standaardinstellingen laten staan. De nieuw toegevoegde bucket verschijnt in de lijst.


De AWS SDK installeren en de inloggegevens toevoegen
Installeer boto3 om met AWS-services te werken via pip en npm.
Voeg vervolgens de omgevingsvariabelen als volgt toe aan het .env-bestand:
Uploaden naar AWS S3 en de ondertekende URL genereren
Voeg de volgende functies toe om de audiostream naar S3 te uploaden en een ondertekende URL te genereren.
Je kunt de uploadfunctie vervolgens aanroepen met de audiostream uit de tekst.
Genereer na het uploaden van het audiobestand naar S3 een ondertekende URL om toegang tot het bestand te delen. Deze URL is tijdelijk geldig en verloopt na een bepaalde periode, waardoor deze veilig is voor tijdelijk delen.
Je kunt nu een URL vanuit een bestand genereren met:
Als je het bestand meerdere keren wilt gebruiken, kun je beter het S3-bestandspad in je database opslaan en de ondertekende URL steeds opnieuw genereren wanneer je die nodig hebt, in plaats van de ondertekende URL rechtstreeks op te slaan, omdat deze verloopt.
Alles samenvoegen
Je kunt het allemaal samenvoegen met het volgende script:
Conclusie
Je weet nu hoe je tekst omzet naar spraak en een ondertekende URL genereert om het audiobestand te delen. Deze functionaliteit biedt veel mogelijkheden om dynamisch content te maken en te delen.
Hier zijn enkele voorbeelden van wat je hiermee kunt bouwen.
-
Educatieve podcasts: maak gepersonaliseerde educatieve content die studenten op aanvraag kunnen beluisteren. Docenten kunnen hun lessen omzetten naar audioformaat, ze uploaden naar S3 en de links met studenten delen voor een boeiendere leerervaring buiten het traditionele klaslokaal.
-
Toegankelijkheidsfuncties voor websites: verbeter de toegankelijkheid van websites door tekstcontent in audioformaat aan te bieden. Hierdoor wordt informatie op websites toegankelijker voor mensen met een visuele beperking of voor mensen die liever auditief leren.
-
Geautomatiseerde berichten voor klantenservice: maak geautomatiseerde en gepersonaliseerde audioberichten voor klantenservice, zoals veelgestelde vragen of orderupdates. Dit kan zorgen voor een boeiendere klantervaring dan traditionele e-mails met tekst.
-
Luisterboeken en vertelstemmen: zet volledige boeken of korte verhalen om naar audioformaat en bied het publiek een nieuwe manier om van literatuur te genieten. Auteurs en uitgevers kunnen hun contentaanbod diversifiëren en een publiek bereiken dat liever luistert dan leest.
-
Tools voor het leren van talen: ontwikkel hulpmiddelen voor het leren van talen die cursisten audiolessen en oefeningen bieden. Zo kunnen ze gericht uitspraak en luistervaardigheid oefenen.