Pocitacova synteza cestiny v 730 bajtech

Pavel Machek pavel na suse.cz
Pátek Březen 24 23:15:43 CET 2000


Ahoj!

Trochu jsem si hral s mbrolou (existuje do ni ceska databaze
diphonu). Kdyz se mu text patricne upravi, tak, svete div se, mluvi!
(Kvalita je takova ze tomu je rozumet, zazraky necekejte.)

Cele to delam shellovym skriptem (ma 730 bajtu, samotna mbrola ma 32K
a databaze diphonu ma 2.7M)

#!/bin/bash
tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed 's/x/ks/g' | sed 's/ch/x/g' | sed 's/i/je/g' | sed 's/<</T/' | \
    sed 's/y/i/g' | \
 ( while true;
	do
	read line || break
	while [ "a$line" != a ];
		do
		char=`echo $line | head -c 1`
		line=`echo $line | tail -c +2`

		case $char in
		" ") char=_ ;;
		o) char=r\\ ;;
		š) char=S ;;    
		o) char=N ;;
		i) char=D ;;
		3/4) char=Z ;;
		e) char=tS ;;

		á) char=a: ;;
		é) char=e: ;;
		í) char=i: ;;
		ó) char=o: ;;
		u) # char=u: ;;
		   echo u 210 0 210; continue; ;;

		?) ;;
		esac
		#          delka ??? vyska
		echo $char 70 0 210
		done
	done ) > /tmp/delme.pdo
../../mbrola-linux-i386 ../cz1 /tmp/delme.pdo /tmp/delme.wav; splay /tmp/delme.wav

Priklady toho co to dokaze rict jsou:

echo "oíkej si klidoe co chceš" | ./rekni
echo "tei u3/4e _ si mu _ 3/4eš _ oíkat klidoe co chceš" | ./rekni
echo "Projekt _ karanténa _ umo3/4ní _ bespee_ni _ pouš<<et _ neduviryhodné _ aplikace" | ./rekni
echo "Ahojky ___ já jsem poeítae ___ Pavel mni _ etyoiadvacátého _ boezna _ dva <<isíce nau_eil mluvit _ eesky ___ Rospoznávat _ nikterá _ eeská _ slova _  mni _ na_u_eil _ u3/4e _ poed_tím " | ./rekni


-- 
I'm pavel na ucw.cz. "In my country we have almost anarchy and I don't care."
Panos Katsaloulis describing me w.r.t. patents me at discuss na linmodems.org


Další informace o konferenci Linux