Bibliothèque de discours pour Arduino
Disponible en tant que bibliothèque Arduino "Talkie".
? Google Traduction
| Démonstration de Talkie Voltmètre Exemple | Intoduction par redémarrage du gadget |
|---|---|
| Plate-forme | Épingle normale | Épingle inversée | Minuterie à 8 kHz | Minuterie PWM | Remarques |
|---|---|---|---|---|---|
| AVR (uno et nano) | PIN 3 | PIN 11 | minuterie | timer2 | |
| Atmega2560 | Broche 6 / ph3 | Broche 7 / ph4 | minuterie | minuterie4 | |
| Leonardo | Pin 9 / PB5 | Broche 10 / PB6 | minuterie | minuterie4 | |
| Promettre | Broche 5 / pc6 | % | minuterie | minuterie4 | |
| Esplora | Broche 6 / pd7 | % | minuterie | minuterie4 | |
| Zéro (samd) | A0 | % | Tc5 | Dac0 | |
| ESP32 | PIN 25 | % | hw_timer_t | Dac0 | |
| Bluepill | PIN 3 | % | minuterie3 | analogue | Roger Clarks Core |
| Bluepill | PA3 | % | minuterie4 | analogue | Noyau STM |
| Adolescente | Broche 12/14721 | % | Intervaltimemer | analogue |
Le temporisateur 1 (Timer Servo) est utilisé à tous les atmegas pour mettre à jour les données de sortie vocale à 8 kHz.
La minuterie 2 (temporisation de ton) sur ATMEGA328 (62500 Hz / 16 µs) ou la minuterie 4 sur ATMEGA2560 + AMEGA32U4 (5 µs) est utilisée pour générer la sortie PWM 8 bits.
Les deux minuteries ne sont donc pas disponibles à d'autres bibliothèques / fins, comme le contrôle du servo ou la sortie de tonalité.
Il y a deux cœurs pour le Bluepill .
STM32F1 par Roger Clark; http://dan.drown.org/stm32duino/package_stm32duino_index.jsonstm32 par ST Microsystems; https://github.com/stm32duino/boardmanagerfiles/raw/master/stm32/package_stm_index.jsonLa génération du PWM à grande vitesse est compliquée pour Roger Clark Core et facile pour le noyau STM. La taille du programme pour VoltMetersayq.CPP est de 21 kilomètres pour Roger Clark Core et 32 kilomètres pour STM Core. La manipulation d'interruption de 8 kHz nécessite 8 µs pour le noyau Roger Clark et 12 µs pour le noyau STM.
say...() vous pouvez à nouveau utiliser tone() .write() après un appel pour dire ... vous devez detach() et attach() le servo avant d'abord write() afin d'initialiser à nouveau la minuterie pour servo.Talkie Voice(true, false); au lieu de Talkie Voice; ou Voice.doNotUseInvertedOutput(); .Le vocabulaire prédéfini se trouve dans les fichiers de vocabulaire _ *. H, en particulier dans Vocab_US_LARGE.H.
Pour créer des données LPC, vous pouvez utiliser le Python_wizard ou le Bluewizard pour Mac OS X.
Une autre façon de créer des données LPC consiste à utiliser QboxPro, une ancienne application Windows non soutenue exécutée sous XP, qui peut produire des flux de données compatibles Talkie. La BWCC.DLL manquante (Borland Windows Custom Contags Library) peut être trouvée, par exemple ici. Le processus est décrit ici et va comme ceci:
C to avoid clicks | Low pass 1600Hz
_____
D3 >-----||-----|_____|-----+-----> to Power amplifier
100nF 10k |
---
--- 10 nF
|
_|_ GND
Pour personnaliser le logiciel à différentes exigences, certaines options de compilation / macros sont disponibles.
Les modifier en leur activant / désactivant ou modifiez les valeurs le cas échéant.
| Nom | Valeur par défaut | Déposer | Description |
|---|---|---|---|
NO_COMPATIBILITY_FOR_TONE_LIB_REQUIRED | désactivé | Talkie.h | Si vous n'utilisez pas la bibliothèque de tons Arduino, l'activation peut enregistrer jusqu'à 844 octets de la taille du programme. |
FAST_8BIT_MODE | désactivé | Talkie.h | Si défini, nous utilisons 8 bits au lieu de coefficients 16 bits K1 et K2. Cela économise 10 microsecondes (40 au lieu de 50 États-Unis) pour un atmega de 16 MHz et a presque la même qualité, à l'exception de quelques "décrocheurs" par exemple dans le mot "mille". |
ENABLE_PITCH | désactivé | Talkie.h | Si défini, nous interprétons le deuxième paramètre aSampleRateForPitch de say() et SayQ() . Cela nécessite environ 160 octets d'espace de programme et peu de divisions longues. Si elle est désactivée, le paramètre aSampleRateForPitch est simplement ignoré. |
SAMPLE_RATE_DEFAULT | 8000 | Talkie.h | si vous souhaitez régler à l'échelle mondiale pour talkie, vous pouvez modifier cette valeur, cela enregistre les frais généraux impliqués en activant ENABLE_PITCH |
Tout d'abord, utilisez Sketch> Afficher le dossier Sketch (Ctrl + K) .
Si vous n'avez pas encore enregistré l'exemple comme votre propre croquis, vous êtes instantanément dans le bon dossier de bibliothèque.
Sinon, vous devez accéder au dossier libraries parallèles et sélectionner la bibliothèque à laquelle vous souhaitez accéder.
Dans les deux cas, la source de la bibliothèque et les fichiers incluent sont situés dans le répertoire src des bibliothèques.
La modification doit être renouvelée pour chaque nouvelle version de la bibliothèque!
Si vous utilisez PlatformoIo, vous pouvez définir les macros dans le fichier Platformo.ini avec build_flags = -D MACRO_NAME ou build_flags = -D MACRO_NAME=macroValue .
Si vous utilisez Sloeber comme IDE, vous pouvez facilement définir des symboles globaux avec des propriétés> Arduino> CompiléOptions . 

La mise en œuvre de Talkie de 2017, basée sur la version Peter Knights, s'est étendue avec la hauteur, la vitesse et la flexion.
aSampleRateForPitch et macro ENABLE_PITCH .digitalWriteNonInvertedOutput() et digitalWriteInvertedOutput() .sayQTimeout() dans talkieutils.cpp .sayQVoltageVolts() .Talkie(bool aUseNonInvertedOutputPin, bool aUseInvertedOutputPin);Les exemples de la bibliothèque sont testés avec des actions GitHub pour les cartes suivantes: