De auteur van Instructables onder de bijnaam Utsource vertelt hoe je de Talkie-bibliotheek kunt gebruiken, waarmee je spraak kunt synthetiseren met Arduino. Dit is geen spraaksynthesizer die u op uw smartphone, tablet of pc kunt gebruiken en die elke tekst kan uitspreken. De reeks woorden staat hier vast, maar er zijn er meer dan duizend (dit zijn in totaal verschillende verbonden woordenboeken). Deze bibliotheek implementeert een algoritme voor softwaresynthese, dat ooit in hardware in TI-chips is geïmplementeerd.
Talkie-bibliotheek liegt hier, het kan ook worden gedownload via de bibliotheekmanager door de naam in te voeren in de zoekbalk. De wizard laat dit zien in de schermafbeelding:
De bibliotheek vereist geen uitbreiding van RAM, ROM en de toevoeging van hardware-synthesizers. De spraaksynthese is volledig programmatisch, een audiosignaal wordt uitgevoerd met PWM naar uitgang 3. Daar kunt u eenvoudig een dynamische kop aansluiten via een weerstand, of u kunt een extra versterker gebruiken. In het tweede geval is het laagdoorlaatfilter tussen de Arduino en de versterker wenselijk, maar de master doet het zonder. Met een krachtige versterker wordt het laagdoorlaatfilter verplicht. De versterker kan op elke elementbasis worden uitgevoerd, de master selecteert de LM386-chip. Hij neemt standaard het schakelcircuit, het is duidelijk dat de microfoon en de belastingsweerstand erop niet voor hem nodig zijn - de signaalbron zal Arduino zijn.
Hij modelleert dit circuit in het Fritzing-programma:
En het bouwt voort op een breadboard zoals breadboard:
Om de bibliotheek in actie te testen, opent de wizard de schetseditor in de Arduino IDE:
En hij kiest deze code:
#include "Talkie.h" //Talkie.h wordt gebruikt om deze bibliotheek te initialiseren en de digitale pin 3 van Arduino in te stellen als uitvoerpin
#include "Vocab_US_Large.h" //Vocab_US_Large.h wordt gebruikt om de waarschuwingen te gebruiken
#include "Vocab_Special.h" //Vocab_Special.h wordt gebruikt om de pauze te gebruiken
Talkie-stem // definieer een object 'waarde' om de commando's te gebruiken
ongeldige setup () {
}
leegte lus () {
voice.say (spPAUSE2);
voice.say (sp2_DANGER);
voice.say (sp2_DANGER);
voice.say (sp3_STORM);
voice.say (sp3_IN);
voice.say (sp3_THE);
voice.say (sp3_NORTH);
/ * Het eerste commando voice.say (spPAUSE2) is om een korte pauze te nemen terwijl het waarschuwingsbericht wordt herhaald. En de volgende opdrachten zijn slechts simpele woorden die impliceren: GEVAAR GEVAAR STORM IN HET NOORDEN. * /
}
Het programma verbindt een eerder geïnstalleerde Talkie-bibliotheek en twee woordenboeken, waarvan er één nodig is om een pauze tussen woorden te krijgen. Deze spraaksynthesizer begrijpt geen leestekens of afkortingen zoals PST en PST. Wanneer het programma begint, zal hij eentonig de uitdrukking "gevaar, gevaar, storm vanaf de noordkant" uitspreken.
De bibliotheek is geschikt voor arduino-gebruikers die geen vrij dure displays willen kopen. Met de dynamische kop bezig, zonder of met een versterker, slechts één 'poot', is het mogelijk om de uitvoer te realiseren in de vorm van spraak van vrij lange zinnen, en als je nog een paar 'pootjes' neemt met de knoppen, dan is het menu, inclusief op meerdere niveaus.