Inleiding
De Fluency API is een set functies waarmee je Fluency TTS vanuit een applicatie kunt aansturen.Als je programmeert in een van de onderstaande programmeertalen, dan kun je snel van start gaan door de bijbehorende include-files te downloaden. Deze bestanden geven de definities van alle API-functies voor de betreffende taal, alsmede functies om Fluency TTS in het geheugen te laden en weer vrij te geven.
| taal | include file |
| Delphi | FluencyAPI.pas |
| C++ |
FluencyAPI.h
FluencyAPI.cpp |
Zie tevens de pagina met voorbeeldapplicaties. Daar vind je ook een uitgewerkt programmeervoorbeeld voor de .NET omgeving.
Voor andere programmeertalen zul je eerst wat handwerk moeten doen.
Het hart van Fluency TTS is een dll met de naam FLUENCY.DLL. Deze dll bevindt zich in de map waar Fluency TTS geïnstalleerd is. Meestal is dat de map C:\Program Files\Fluency\TTS. Daar kun je echter niet van uitgaan, want gebruikers kunnen voor de installatie een andere map gekozen hebben.
Voordat je programma de dll kan laden, moet het dus eerst uitvinden waar Fluency TTS geïnstalleerd is. Dat doe je door de volgende registerwaarde uit te lezen:
Vervolgens kun je de Windows API-functie LoadLibrary gebruiken om de dll te laden. Met GetProcAddress kun je het adres van de verschillende functies van de Fluency API vinden. En aan het eind geef je de dll weer vrij met de functie FreeLibrary.
Enkele opmerkingen
Fluency TTS draait mee op de main thread van je applicatie. Voor het (asynchroon) uitspreken van tekst is het bovendien afhankelijk van een message loop. Dit maakt console-applicaties wat lastig te programmeren: je moet minimaal een message loop gaande houden, anders hoor je niks!Het is mogelijk om verschillende kanalen (met verschillende stemmen) tegelijk te laten spreken, maar dit werkt alleen als de geluidskaart dit ondersteunt.
Fluency TTS biedt ondersteuning voor multi-threading. Het is echter wel nodig de toegang tot de API-functies te synchroniseren, bijvoorbeeld door gebruik te maken van een critical section.
En een waarschuwing
Enkele functies uit de Fluency API geven bij verkeerd gebruik (of andere calamiteiten) niet alleen een foutmelding, maar zetten tevens de API "op slot", dat wil zeggen dat geen enkele functie nog werkt. Dit is bedoeld om escalatie van een fout tegen te gaan, met name onder veeleisende toepassingen als "screen readers".Fluency TTS 5.0
De informatie op deze pagina's veronderstelt dat Fluency TTS 5.0 of hoger op je pc geïnstalleerd is.Eerdere versies van Fluency TTS hebben een andere API. Klik hier voor info over de oude API.
Geen licentie nodig
Ja, je leest het goed. Je hebt geen licentie nodig om een toepassing te maken met Fluency TTS, want bijna alle API-functies werken ook met de demo-versie.SAPI5
Je kunt Fluency TTS ook aansturen via SAPI5, het standaard spraakinterface van Windows XP, Vista, en Windows 7.Het voordeel hiervan is dat je dezelfde code gebruikt waarmee je ook andere spraaksynthesizers aanstuurt.
Het nadeel is dat je je moet richten op de grootste gemene deler, omdat spraaksynthesizers toch verschillen in de manier waarop ze tekst interpreteren.

Programmeren met de Fluency API