Challenge view
Back to ProjectText-To-Speech-Synthesis - Vorlesen für Alle!
Synthetische Stimmen werden immer besser, automatisches Roboter-Vorlesen als Standard-Feature.
Online-Lesen ist toll. Es ist aber mit signifikanten Barrieren verbunden. Von Textgrösse zu Navigation, viele Faktoren können die Zugänglichkeit des Contents für viele erschweren. Audio kann viele dieser Probleme lösen. Aber nicht nur wegen Barrierefreiheit ist Audio interessant, viele Nuter:innen äussern den Wunsch in gewissen Situationen - und vor allem längere Beiträge - auch mal hören zu können.
Zwar haben je länger je mehr Betriebssysteme und Browser eigene Vorlese-Funktionen - diese sind aber oft nicht sonderlich ansprechend und Verlangen gute Accessibility-Implementierungen. Es gibt Kompatibilitätsprobleme mit Reader-Ansichten einzelner Browser. Alle Beiträge professionell vorlesen zu lassen, wäre zu teuer.
Wie können auch kleinere Medien ein solches Feature anbieten?
In der Challenge werden gegenwärtige open-source Lösungen recherchiert und / oder eigene Lösungen zu skizzieret. Das Ziel ist ein einfaches, flexibles Modul, welches HTML parsed und anbieterunabhängig mit Text-To-Speech API's verknüpft werden kann (z.B. https://azure.microsoft.com/de-de/services/cognitive-services/text-to-speech/#features).
Verantwortlich: Olivier
Text-To-Speech Experiments for Rethink Journalism Hackathon 2021
Goals
- Transforms HTML to SSML
- Uses the Mircosoft Speech SDK for JavaScript on Node.js.
Prerequisits
- A subscription key for the Speech service. See Try the speech service for free.
- A Node.js compatible device.
Install
- run
npm install
to install the dependencies. - Copy
.env.example
to.env
and add the AzureSubscriptionKey
.
Get a text sample from a URL
Example for netzpolitik.org:
./any-to-ssml.sh https://netzpolitik.org/2021/netzdg-novelle-mehr-rechte-fuer-nutzerinnen-nur-auf-schmalem-meldeweg/ > ssml.xml
Example for republik:
./any-to-ssml.sh https://www.republik.ch/2021/05/06/der-glaeserne-gast/ > ssml.xml
Example for woz:
./any-to-ssml.sh https://www.woz.ch/2118/auf-allen-kanaelen/auslaendische-agenten > ssml.xml
Run the sample
- Add your text into ssml.xml
- Run
node index.js
This will create a file named YourAudioFile.wav
in the folder.