Bygge av scanner med textigenkänning
Bygge av scanner med textigenkänning
Sitter och pillar lite med ett projekt, tänkte att jag kunde lägga upp resultatet här... jag tycker ju själv det är kul att se vad andra pysslar med så här kommer det
Det är tänkt att bli en scanner ungefär som c-pen som ska kunna tolka text. Målet är att man sedan ska koppla in ett par hörlurar till den och höra texten med röstsyntes. Lite galet projekt men det kan gå, har ju kommit en bit redan:
Lite info:
Mikrokontroller: Atmel AT91SAM7S128, ARM 128kbyte Flash, 16kbyte RAM
Bildsensor: Köpt på elfa HIT ME
Egentligen är det helt fel bildsensor, den är på 256*256 pixlar plus att den skickar ut ett medelvärde från x och y kolumnerna. Jag har tejpat för större delen av ytan så att det bara är en strimma kvar... Jag använde en lins från en vanlig billig tv-kamera som man kan köpa överallt, sedan gjorde jag ett litet hus i plast och det fungerar ganska skapligt.
Nu tänkte jag ta ett par vita lysdioder som aktivt ska regleras för att få lagom ljusstyrka, just nu är scannern ganska tjurig när det gäller ljusförhållandena.
Sedan ska bokstäverna separeras automatiskt. När det är klart ska jag spara ett stort antal inscannade bokstäver och köra dem genom backpropagation (på pc:n) i ett artificiellt neuralt nätverk och implementera detta nätverk i ARM-kretsen så att den kan känna igen bokstäverna.
Man scannar ett ord i taget genom att hålla inne knappen på scannerns sida. Det är tillräckligt svårt att skilja på bokstäverna...
Hur jag sedan ska lösa röstsyntes har jag fortfarande ingen aning om! Några idéer ?
MVH
Det är tänkt att bli en scanner ungefär som c-pen som ska kunna tolka text. Målet är att man sedan ska koppla in ett par hörlurar till den och höra texten med röstsyntes. Lite galet projekt men det kan gå, har ju kommit en bit redan:
Lite info:
Mikrokontroller: Atmel AT91SAM7S128, ARM 128kbyte Flash, 16kbyte RAM
Bildsensor: Köpt på elfa HIT ME
Egentligen är det helt fel bildsensor, den är på 256*256 pixlar plus att den skickar ut ett medelvärde från x och y kolumnerna. Jag har tejpat för större delen av ytan så att det bara är en strimma kvar... Jag använde en lins från en vanlig billig tv-kamera som man kan köpa överallt, sedan gjorde jag ett litet hus i plast och det fungerar ganska skapligt.
Nu tänkte jag ta ett par vita lysdioder som aktivt ska regleras för att få lagom ljusstyrka, just nu är scannern ganska tjurig när det gäller ljusförhållandena.
Sedan ska bokstäverna separeras automatiskt. När det är klart ska jag spara ett stort antal inscannade bokstäver och köra dem genom backpropagation (på pc:n) i ett artificiellt neuralt nätverk och implementera detta nätverk i ARM-kretsen så att den kan känna igen bokstäverna.
Man scannar ett ord i taget genom att hålla inne knappen på scannerns sida. Det är tillräckligt svårt att skilja på bokstäverna...
Hur jag sedan ska lösa röstsyntes har jag fortfarande ingen aning om! Några idéer ?
MVH
Angående röstsyntesen så finns det en hel del olika grejer. Problemet är inte att bygga en röstsyntes, det är att få den att kunna tolka och uttala vanlig text. I princip kan man bygga en röstsyntes med hjälp av två filter och en oscilator
När det gäller bilderna skulle du förs kunna köra hela skiten genom ett filter som ränsar bort allt skit. Sen efter det scannar den igenom bilden horisontalt och tar medelvärdet från varje kolumn och på så sätt skiljer på varje bokstav. Jag vet dock inte hur bra det skulle funka i praktiken
När det gäller bilderna skulle du förs kunna köra hela skiten genom ett filter som ränsar bort allt skit. Sen efter det scannar den igenom bilden horisontalt och tar medelvärdet från varje kolumn och på så sätt skiljer på varje bokstav. Jag vet dock inte hur bra det skulle funka i praktiken
Jävlar va nicigt!
Angående med rösten så ska det inte vara några problem. För någon månad sedan så laddade jag ner ett program inkl källkoden till det från microsofts hemsida. Genom detta kuna man utväckla just det du behöver. Om jag inte minns fel så var det skrivet i VB. Genom att skriva in text i en textruta så fick man höra det man skrev. I detta fall skulle du kunna infoga dina bokstäver från ditt program du prata om...
Angående med rösten så ska det inte vara några problem. För någon månad sedan så laddade jag ner ett program inkl källkoden till det från microsofts hemsida. Genom detta kuna man utväckla just det du behöver. Om jag inte minns fel så var det skrivet i VB. Genom att skriva in text i en textruta så fick man höra det man skrev. I detta fall skulle du kunna infoga dina bokstäver från ditt program du prata om...
en ide som slog mig:
Man kanske skulle kunna ha ett lookup table som för varje ord innehåller det fonetiska ordet (om man säger så) och så har du ljud för varje fonem som du spelar upp, inopklistarde, på något snyggt sätt....
Lite "brute force", men tanken slog mig just..kanske nåt att bygga vidare på?
Iofs...ordlistan kanske blir stor....hmm....
Edit: man kanske kan mönstermatcha bokstavskombinationer till fonem...då slipper man ordlistan helt...
Man kanske skulle kunna ha ett lookup table som för varje ord innehåller det fonetiska ordet (om man säger så) och så har du ljud för varje fonem som du spelar upp, inopklistarde, på något snyggt sätt....
Lite "brute force", men tanken slog mig just..kanske nåt att bygga vidare på?
Iofs...ordlistan kanske blir stor....hmm....
Edit: man kanske kan mönstermatcha bokstavskombinationer till fonem...då slipper man ordlistan helt...
Jo den där senaste iden har jag också funderat på. I min värld fungerar det, sen om det fnugerar i den riktiga världen också vet jag inte.
Att använda en tabell med alla ord och någon form av data som beskriver hur det uttalas är nog ganska så uteslutet på ett hemmabygge. Blir ju rätt så många ord om den ska fungera hyffsat. Man ska nog gärna vara flera personer som arbetar på projektet då, och kanske något lite mer seriöst projekt också.
Att använda en tabell med alla ord och någon form av data som beskriver hur det uttalas är nog ganska så uteslutet på ett hemmabygge. Blir ju rätt så många ord om den ska fungera hyffsat. Man ska nog gärna vara flera personer som arbetar på projektet då, och kanske något lite mer seriöst projekt också.
Det här är vad jag kallar projekt...
Du kan också kanske kolla på "festival" http://freshmeat.net/projects/festival/
Jag har en känsla av att det är alldeles för stort för det här, men ändå... Portabel källkod ska finnas.
Du kan också kanske kolla på "festival" http://freshmeat.net/projects/festival/
Jag har en känsla av att det är alldeles för stort för det här, men ändå... Portabel källkod ska finnas.