- Nepieciešamās sastāvdaļas
- Ķēdes shēma
- Skaļruņa savienošana ar Arduino
- Arduino programmēšana TTS (teksts runā)
Teksta-runas vai TTS sistēma pārveido parasto tekstu runā. Šī tehnoloģija ļauj sistēmai izrunāt tekstu cilvēka balsī. Ir daudz teksta pārveidošanas runā pārveidošanas piemēru, piemēram, paziņojumi sabiedriskajā transportā, klientu apkalpošanas zvani, balss palīgi jūsu viedtālruņos vai jebkuras mašīnas navigācijas izvēlne. Jūs pat varat atrast TTS programmā Microsoft Word, kur to iestatījāt, lai izrunātu dokumentā rakstīto tekstu.
Šodien šajā apmācībā mēs uzzināsim, kā padarīt tekstu uz runu pārveidotāju, izmantojot Arduino. Iepriekš mēs izmantojām TTS ar Raspberry pi, runājot modinātājpulkstenī, kā arī pārveidojām runu par tekstu aveņu pi, izmantojot Google balss tastatūru.
Pirmais solis TTS ir pre-processing vai normalizācija. Šis solis ietver simbolu, ciparu un saīsinājumu pārveidošanu vārdos, kurus var nolasīt tādas mašīnas kā "?" tiks pārveidota par “jautājuma zīmi”.
Otrais solis ietver pārveidošanu normalizētu tekstu fonēmu vai fonētikas stenogrammas. Fonēmas ir mazas izrunāto vārdu daļas, ti, tās ir skaņas, kas veido teikumus. Šis solis ir ļoti būtisks, lai mašīna varētu runāt vārdus tāpat kā cilvēki.
Pēdējais solis ir sintēze no fonēmu runātos balss. Šo soli var sasniegt ar dažādām metodēm, piemēram, ierakstot cilvēka balsi dažādiem vārdiem / frāzēm vai ģenerējot skaņas pamatfrekvences un sakraujot tās kā fonēmas, vai kopējot cilvēka runāšanas mehānismu.
Nepieciešamās sastāvdaļas
- Arduino dēlis
- Runātājs
- Pastiprinātāja shēma
- Regulēta barošana
- Vadu savienošana
Ķēdes shēma
Šajā teksta pārveidošanai runā esam izmantojuši pastiprinātāja shēmu, lai samazinātu troksni un iegūtu skaidru skaņu. Pastiprinātājs ķēde tiek veikta, izmantojot IC LM386. Tā shēma ir parādīta zemāk:
Skaņas pielāgošanai tiek izmantots 100K katls. Pielāgojiet to, lai iegūtu skaidru skaņu. Ja jums ir neskaidrības par šo shēmu, pārbaudiet LM386 bāzes audio pastiprinātāja shēmu. Ja jums nav precīzas rezistoru un kondensatoru vērtības, izmantojiet tuvās vērtības.
Skaļruņa savienošana ar Arduino
Savienojumi ir ļoti vienkārši, kad esat izveidojis pastiprinātāja shēmu.
Pievienojiet strāvas padevi pastiprinātāja ķēdei un pievienojiet Arduino digitālo tapu 3 10K rezistoram un pievienojiet Arduino zemi ķēdes zemei. Tagad pievienojiet skaļruni, savienojot tā negatīvo spaili ar zemi un pozitīvo spaili ar 220µF kondensatoru un pievienojiet strāvas padevi.
Arduino programmēšana TTS (teksts runā)
Arī šī Arduino bāzes TTS programma ir ļoti vienkārša, jo tai ir pieejama bibliotēka. Šo bibliotēku sauc par Talkie, un bibliotēkas pārvaldnieks to var pievienot. Lai pievienotu bibliotēku, dodieties uz Sketch-> Include Library-> Mange Libraries .
Tagad bibliotēkas pārvaldnieks būs redzams jūsu ekrānā. Meklēšanas joslā ierakstiet Talkie un noklikšķiniet uz instalēšanas pogas. Bibliotēka tiks instalēta.
Šī bibliotēka ir ļoti ērta, un tajā ir vairāk nekā 1000 vārdu un komandu. Tam ir vairāki piemēri, jūs varat tos visus izmēģināt, bet šeit mēs izmantojam vienkāršu kodu, lai izskaidrotu darbu.
Varat arī izmēģināt citas bibliotēkā norādītās komandas. Lai iegūtu šīs komandas, dodieties uz Documents \ Arduino \ libraries \ Talkie \ src un pēc tam atveriet galvenes failus un iegūstiet vairākas komandas, kuras var izmantot dažādiem brīdinājumiem. Ir daudzas citas TTS bibliotēkas, piemēram, jscrane TTS bibliotēka, google TTS bibliotēka utt. Varat arī tās izmēģināt.
Tātad sāksim kodēšanu. Pirmkārt, iekļaujiet dažus galvenes failus. Talkie.h tiek izmantots, lai inicializētu šo bibliotēku un kā izejas spraudni iestatītu Arduino digitālo tapu 3. Vocab_US_Large.h tiek izmantota, lai izmantotu brīdinājumus mēs izmantojam un Vocab_Special.h tiek izmantota, lai izmantotu pauzi mēs izmantojam.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Tagad komandu definēšanai definējiet objekta “vērtību”:
Talkie balss;
Šeit tas pats ziņojums tiks atkārtots skaļrunī, tāpēc iestatīšanas funkcija ir tukša un komandas ievieto cikla funkcijā. Pirmā komanda voice.say (spPAUSE2) ir īslaicīgi pauzēt, atkārtojot brīdinājuma ziņojumu. Un nākamās komandas ir tikai vienkārši vārdi, kas nozīmē: BĪSTAMAS BĪSTAMĪBAS VĒRA ZIEMEĻOS.
void setup () { } void loop () { voice.say (spPAUSE2); balss.saka (sp2_DANGER); balss.saka (sp2_DANGER); balss.saka (sp3_STORM); balss.saka (sp3_IN); balss.saka (sp3_THE); balss.saka (sp3_NORTH); }
Visbeidzot augšupielādējiet kodu Arduino un pievienojiet tam strāvas padevi. Tiklīdz ieslēdzat ķēdi, jūs sākat dzirdēt brīdinājumus! Ja nesaņemat skaidru skaņu, mēģiniet pielāgot katla pogu vai pārbaudiet, vai Arduino iegūst pareizu barošanas avotu, un pārliecinieties, vai Arduino GND ir savienots ar ķēdes zemi.
Pārbaudiet visu kodu ar demonstrācijas video.