Taligenkänning och syntes med Arduino
I min tidigare Instructable visade jag hur man styr ett par lysdioder med en Arduino ombord och BitVoicer Server. I detta Instructable ska jag göra saker lite mer komplicerat. Jag kommer också att syntetisera tal med Arduino DUEdigital till analog omvandlare (DAC). Om du inte har en Arduino FÖRFALLER, kan du använda andra Arduino styrelser, men behöver du en extern DAC och några ytterligare kod att driva DAC ( BVSSpeaker biblioteket inte kommer hjälpa dig med det).
I videon ovan, kan du se att jag också göra Arduino spela lite sång och blinkar lysdioderna som om de vore pianotangenter. Ledsen för min piano färdigheter, men det är det bästa jag kan göra :). Lysdioderna blinka faktiskt i samma sekvens och timing som verkliga C, D och E nycklar, så om du har ett piano runt kan du följa lysdioderna och spela samma låt. Det är en jingel från en gammal återförsäljare (Mappin) som inte ens finns längre.
Följande procedurer körs för att förvandla röstkommandon till LED aktivitet och syntetiskt tal:
- Ljud vågor kommer att fångas upp och förstärks av Sparkfun Elektret Breakout styrelsen;
- Den förstärkta signalen kommer att digitaliseras och buffras i Arduino med dess analog till digital omvandlare (ADC);
- De ljud proverna kommer att streamas till BitVoicer Server med hjälp av Arduino serieporten;
- BitVoicer Server behandlar ljudströmmen och känna igen den innehåller;
- Den erkända tal kommer att mappas till fördefinierade kommandon som skickas tillbaka till Arduino. Om något av kommandona består i syntetisera tal, kommer att BitVoicer servern förbereda ljudströmmen och skicka den till Arduino;
- Arduinoen kommer att identifiera kommandona och utför lämpliga åtgärder. Om en ljudström tas emot, blir det kö till klassen BVSSpeaker och spelade med vederbörlig DAC och DMA.
- SparkFun Mono ljud Amp kommer att förstärka DAC signalen så att det kan driva en 8 Ohm högtalare.
Förteckning över material:
- Arduino DUE: ~ U$ 50,00
- Sparkfun Elektret mikrofon Breakout: U$ 7,95
- SparkFun Mono ljud Amp Breakout: U$ 7,95
- BitVoicer Server 1.0: U$ 9,90
- 8 Ohm högtalare: ~ U$ 2.00
- Skärbräda: ~ U$ 10,00
- 3 x lysdioder: ~ U$ 1.00
- 3 x 330 Ohm motstånd: ~ U$ 0,75
- Hoppare ledningar: ~ U$ 0,50