- Požadované komponenty
- Kruhový diagram
- Připojení reproduktoru k Arduinu
- Programování Arduina pro TTS (převod textu na řeč)
Systém převodu textu na řeč nebo TTS převádí normální text na řeč. Tato technologie umožňuje systému vyslovit text lidským hlasem. Existuje mnoho příkladů převodu textu na řeč, například oznámení ve veřejné dopravě, volání péče o zákazníka, hlasové asistenty ve smartphonech nebo navigační nabídka jakéhokoli zařízení. TTS dokonce najdete v aplikaci Microsoft Word, kde jej nastavíte tak, aby vyslovoval text napsaný v dokumentu.
Dnes v tomto tutoriálu se naučíme, jak vytvořit převaděč textu na řeč pomocí Arduina. Dříve jsme používali TTS s Raspberry pi při mluvení Budík a také jsme převáděli řeč na text v Raspberry Pi pomocí hlasové klávesnice Google.
Prvním krokem v TTS je předběžné zpracování nebo normalizace. Tento krok zahrnuje převod symbolů, čísel a zkratek na slova, která mohou číst stroje jako '?' budou převedeny na „otazník“.
Druhý krok zahrnuje konverzi normalizovaného textu do fonémů nebo fonetické přepisy. Fonémy jsou malé části mluvených slov, tj. Jsou to zvuky, které vytvářejí věty. Tento krok je opravdu zásadní, aby stroj mohl mluvit slovy jako lidé.
Posledním krokem je syntéza hlásek do mluveného hlasu. Tohoto kroku lze dosáhnout různými metodami, jako je záznam lidského hlasu pro různá slova / fráze nebo generování základních zvukových frekvencí a jejich hromadění do fonémů nebo kopírováním lidského řečového mechanismu.
Požadované komponenty
- Deska Arduino
- Řečník
- Zesilovací obvod
- Regulovaný napájecí zdroj
- Připojení vodičů
Kruhový diagram
Tady v tomto převaděči textu na řeč jsme použili obvod zesilovače ke snížení šumu a získání čistého zvuku. Obvod zesilovače je vyroben pomocí IC LM386. Schéma zapojení je uvedeno níže:
K úpravě zvuku se používá hrnec o velikosti 100 tis. Upravte jej tak, abyste získali čistý zvuk. Pokud máte ohledně tohoto obvodu nejasnosti, podívejte se na obvod audio zesilovače na bázi LM386. Pokud nemáte přesnou hodnotu odporů a kondenzátorů, použijte ty blízké.
Připojení reproduktoru k Arduinu
Připojení je velmi snadné, jakmile vytvoříte obvod zesilovače.
Připojte napájecí zdroj k obvodu zesilovače a připojte digitální kolík 3 vašeho Arduino k 10K rezistoru a připojte uzemnění Arduina k zemi obvodu. Nyní připojte reproduktor připojením jeho záporné svorky k zemi a kladné svorky ke kondenzátoru 220µF a připojte napájecí zdroj.
Programování Arduina pro TTS (převod textu na řeč)
Program pro tento Arduino TTS je také velmi snadný, protože k tomu je k dispozici knihovna. Tato knihovna se nazývá Talkie a může ji přidat správce knihovny. Chcete-li přidat knihovnu, přejděte na Skica-> Zahrnout knihovnu-> Spravovat knihovny .
Nyní se na vaší obrazovce objeví správce knihoven. Do vyhledávacího panelu zadejte Talkie a klikněte na tlačítko instalace. Knihovna bude nainstalována.
Tato knihovna je velmi praktická a obsahuje více než 1000 slov a příkazů. Má několik příkladů, můžete je vyzkoušet všechny, ale zde používáme jednoduchý kód k vysvětlení fungování.
Můžete také vyzkoušet další příkazy zadané v knihovně. Chcete-li tyto příkazy získat, přejděte do Documents \ Arduino \ libraries \ Talkie \ src a poté otevřete soubory záhlaví a získejte několik příkazů, které lze použít pro různé výstrahy. Existuje mnoho dalších knihoven TTS, jako je knihovna jscrane TTS, knihovna Google TTS atd. Můžete je také vyzkoušet.
Pojďme tedy začít kódovat. Nejprve zahrňte několik hlavičkových souborů. Talkie.h se používá k inicializaci této knihovny a nastavení digitálního kolíku 3 Arduina jako výstupního kolíku. Vocab_US_Large.h je používali k záznamům Použili jsme i Vocab_Special.h je používali pauzy jsme pomocí.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Nyní definujte 'hodnotu' objektu pro použití příkazů:
Hlas vysílačky;
Zde se stejná zpráva bude opakovat v reproduktoru, takže ponechte funkci nastavení prázdnou a vložte příkazy do funkce smyčky. Prvním příkazem voice.say (spPAUSE2) je krátká pauza při opakování výstražné zprávy. A další příkazy jsou jen jednoduchá slova, která naznačují: NEBEZPEČÍ NEBEZPEČNÁ BOUŘKA V SEVERU.
void setup () { } void loop () { 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); }
Nakonec nahrajte kód do Arduina a připojte k němu napájecí zdroj. Jakmile zapnete obvod, začnete slyšet výstrahy! Pokud nezískáte čistý zvuk, zkuste nastavit knoflík potu nebo zkontrolujte, zda Arduino dostává správné napájení a ujistěte se, že GND Arduina je připojeno k zemi obvodu.
Zkontrolujte celý kód pomocí ukázky. Video je uvedeno níže.