Spraaksynthese, vooral erg goede spraaksynthese zoals RealSpeak, biedt erg grote voordelen bij het leren van taal; het vertrouwd raken met akoestische taalpatronen (het leren verstaan van zinnen). Je kunt de computer een zin eindeloos laten herhalen en de uitspraak naoefenen. Om de vreemde taal in je systeem te krijgen kun je langere teksten laten voorlezen. Maar hier gaan we oefenen met eenvoudige zinnetjes, gericht op de eerste kennismaking met de taal, Engels - Nederlands in dit voorbeeld.
Ik was indertijd nogal in mijn sas, toen ik de onMouseOver "cursus" had gemaakt; daar zaten erg veel voorbeelden in van wat je met wat creatief htm pagina's maken allemaal kunt doen; toch heb ik maar heel weinig feedback hierop gehad.
Dat zal er wel mee te maken hebben dat mensen blijkbaar toch te veel aan de slag moesten om het allemaal rond te krijgen; en misschien hadden de voorbeelden ook wel te veel aparte dingen, te veel toeters en bellen om nog het gevoel te krijgen; ja, dat kan ik ook! De voorbeelden waren ook gemaakt met de RealSpeak speech engines, die niet iedereen heeft, waardoor mensen dachten: "leuk, maar het werkt niet."
Vandaar deze workshop, waarin ik op een hele eenvoudige manier een tweetalige webpagina maak. Met spraakengines, die je gratis kunt downloaden.
Alleen door met een tekstbewerker als Kladblok of Metapad wat andere tekst te typen, kun je met andere tekst of talen werken.
Vanwege de lay-out heb ik de pagina opgebouwd met twee frames; het is de bedoeling de pagina met volledig venster en automatisch verbergende werkbalk te gebruiken, omdat anders de tekst niet juist wordt getoond (uitleg hier ); de readlees.htm bevat de twee framepagina's read.htm en lees.htm (resp.bovenste en onderste frame); dit is de code van de framehouder:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nieuwe pagina 1</title>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
</head>
<frameset rows="*,*">
<frame name="boven" src="read.htm">
<frame name="onder" src="lees.htm">
<noframes>
<body>
<p>Op deze pagina worden frames gebruikt, maar uw browser ondersteunt geen
frames.</p>
</body>
</noframes>
</frameset>
</html>
Als je snel twee andere frames wilt invoegen, bewaar je deze pagina onder een andere passende naam ( bijv. listenluister.htm) en verandert read.htm en lees.htm naar de namen van de nieuwe frames ( bijv. listen.htm en luister.htm) . Je kunt ook in Frontpage, via Bestand, Nieuw, Pagina, tabblad Framepagina's een passend framesjabloon uitkiezen. Goed we hebben nu de framehouder, nu gaan we kijken naar de twee frames, waaruit deze pagina bestaat.
Laten we even kijken naar het kant en klare readlees.htm (RealSpeak) of readlees1.htm (L&H TTS3000); waarschijnlijk werkt het niet, als je de onderstaande benodigdheden nog niet in huis hebt.
Wat er moet gebeuren is: dat als je met je muis over de tekst gaat en de muis verandert in een handje (niet klikken!), je bij de Engelse tekst de Engelse spraak hoort en bij de Nederlandse tekst de Nederlandse spraak. Het klikken gebruik je om naar de volgende oefenpagina ( zie onder: volgende.htm) te gaan; dit gebruik je als je een serie oefenpagina's maakt.
Werkt het niet? Om het te laten werken moet je Dot.acs en MS Agent geïnstalleerd hebben op je pc. En de nodige spraaksynthese in de gebruikte talen/spraaksoftware.
Hoe je MsAgent installeert, leg ik uit in de workshop Pratend document .
Hier kun je MsAgent even uitproberen.
Dot.acs is een punt, een niet zichtbare MsAgent; ik koos hiervoor zodat de agent niet afleidt van de taal en het leren van en luisteren naar de uitspraak; want dat is de zin van de pagina; luisteren naar eenvoudige zinnen en de Engelse vertaling ervan. Spreek ze na en vergelijk het met de spraaksynthese.
Dot.acs installeer je als volgt: download Dot.acs hier (rechtsklik, doel opslaan als) en plaats het in je C:\windows\msagent\chars map.
Nu moet je even weten of je de goede taalmachines in huis hebt. En anders er even voor zorgen dat je ze krijgt.
Als je wilt weten of en wat voor spraakmachines jij nu al op je pc hebt, open dan deze pagina; een screenshot en meer info hier.
Je ziet daar op elke twee regel iets staan als:
TTSModeID = "{1873EC01-095D-11D4-9D71-0000F81A0107}
Dit is de code van de (in dit geval:Nederlandse RealSpeak) spraakmachine; iedere taal en versie heeft zijn eigen code; je begrijpt het al: je moet een overeenstemmende ttsengine op je pc hebben om de pagina te kunnen beluisteren. En deze code gebruik je ook om straks in je frame de juiste taal en spraakmachine te kiezen. Dus als je straks de pagina's onderaan niet hoort, installeer dan alsnog de benodigde spraakengine of heb je die niet verander de engine code naar een die je wel hebt.
Dit is een lijst van gratis te downloaden spraakmachines met de stemmen,die ze bevatten; de namen maken het makkelijker ze uit elkaar te houden:
| Voice | TTS Mode IDs |
|---|---|
| Adult Female #1, US English, L&H TruVoice | {CA141FD0-AC7F-11D1-97A3-006008273008} |
| Adult Female #2, US English, L&H TruVoice | {CA141FD0-AC7F-11D1-97A3-006008273009} |
| Carol, British English, L&H TTS3000 | {227A0E40-A92A-11d1-B17B-0020AFED142E} |
| Peter, British English, L&H TTS3000 | {227A0E41-A92A-11d1-B17B-0020AFED142E} |
| Linda, Dutch, L&H TTS3000 | {A0DDCA40-A92C-11d1-B17B-0020AFED142E} |
| Alexander, Dutch, L&H TTS3000 | {A0DDCA41-A92C-11d1-B17B-0020AFED142E} |
| Vronique, French, L&H TTS3000 | {0879A4E0-A92C-11d1-B17B-0020AFED142E} |
| Pierre, French, L&H TTS3000 | {0879A4E1-A92C-11d1-B17B-0020AFED142E} |
| Anna, German, L&H TTS3000 | {3A1FB760-A92B-11d1-B17B-0020AFED142E} |
| Stefan, German, L&H TTS3000 | {3A1FB761-A92B-11d1-B17B-0020AFED142E} |
| Barbara, Italian, L&H TTS3000 | {7EF71700-A92D-11d1-B17B-0020AFED142E} |
| Stefano, Italian, L&H TTS3000 | {7EF71701-A92D-11d1-B17B-0020AFED142E} |
| Carmen, Spanish, L&H TTS3000 | {2CE326E0-A935-11d1-B17B-0020AFED142E} |
| Julio, Spanish, L&H TTS3000 | {2CE326E1-A935-11d1-B17B-0020AFED142E} |
| Engine | TTSModeID |
| L&H RealSpeak (Ellen 22kHz) Belgian Dutch (V1.10) Female | {03F3E0E1-C9C2-11D3-9BF2-00A0C967A2D1} |
| L&H RealSpeak (Laura 22kHz) Dutch (V1.10) Female | {1873EC01-095D-11D4-9D71-0000F81A0107} |
| L&H RealSpeak (Sophie) French (V1.10) Female | {7E4D88C0-87B7-11D3-9BAE-00A0C967A2D1} |
| L&H RealSpeak (Jane 22kHz) British English (V1.20) Female | {DA23B471-C9C1-11D3-9BF2-00A0C967A2D1} |
| L&H RealSpeak (Jennifer) American English (V1.20) Female | {1226B150-4A80-11D3-9B69-00A0C967A2D1} |
| L&H RealSpeak (Vera 22kHz) German (V1.10) Female | {9A52FA61-87BC-11D3-9BAE-00A0C967A2D1} |
| L&H RealSpeak (Isabel 22kHz) Spanish (V1.20) Female | {48B6A961-C9BD-11D3-9BF2-00A0C967A2D1} |
Laten we nu de framepagina maar eens bekijken; lees het groene commentaar voor uitleg over de werking van belangrijke codes.:
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0
Transitional//EN"> <HTML><HEAD><TITLE>I read a book</TITLE> <META http-equiv=Content-Language content=en-us> <META http-equiv=Content-Type content="text/html; charset=windows-1252"> <META content="MSHTML 6.00.2800.1170" name=GENERATOR> <META content=FrontPage.Editor.Document name=ProgId> <STYLE>BODY A {TEXT-DECORATION: none //dit zorgt ervoor dat de links niet onderstreept worden } UNKNOWN { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; FONT-FAMILY: Arial } P { MARGIN-TOP: 0px; FONT-SIZE: 64pt; MARGIN-BOTTOM: 0px } </STYLE> //dit stylescript maakt het mogelijk lettertypes groter dan 36 punten weer te geven; hier 64 punt <SCRIPT> <!-- if ((navigator.appVersion.indexOf("MSIE") > 0) && (parseFloat(navigator.appVersion.substr(navigator.appVersion.indexOf("MSIE")+5)) >= 5.5)) { document.write("<STYLE><!-- span { VERTICAL-ALIGN: abs-bottom }--></style>"); } else { document.write("<STYLE><!-- span { VERTICAL-ALIGN: bottom }--></style>"); } //--> </SCRIPT> </HEAD> <BODY text=#ffff00 bgColor=#ff0000 scroll=no ; ;?>//scroll=no zorgt dat er geen scroll balk verschijnt <OBJECT id=AgentIntlDLL codeBase=#VERSION=2,0,0,0 height=0 width=0 classid=CLSID:C348040C-A7F8-11D1-AA75-00C04FA34D72></OBJECT> <OBJECT id=SAPI codeBase=#VERSION=4,0,0,0 height=0 width=0 classid=CLSID:0C7F3F20-8BAB-11d2-9432-00C04F8EF48F></OBJECT> <OBJECT id=TruVoice codeBase=#VERSION=6,0,0,0 height=0 width=0 classid=CLSID:B8F2846E-CE36-11D0-AC83-00C04FD97575></OBJECT> <OBJECT id=TTS3000 codeBase=#VERSION=1,0,0,0 height=0 width=0 classid=CLSID:1D87F5B4-05F1-11d2-AD7C-0000F8799342></OBJECT> <P> <OBJECT id=AgentControl codeBase=http://activex.microsoft.com/activex/controls/agent2/MSagent.exe#VERSION=2,0,0,0 height=32 width=32 align=baseline border=0 classid=CLSID:D45FD31B-5C6E-11D1-9EC1-00C04FD7081F></OBJECT> <OBJECT id=L&HTruVoice codeBase=http://activex.microsoft.com/activex/controls/agent2/tv_enua.exe#VERSION=6,0,0,0 height=50 width=50 align=baseline border=0 classid=CLSID:B8F2846E-CE36-11D0-AC83-00C04FD97575></OBJECT></P>//dit stuk roept de nodige MS Agent elementen op <SCRIPT language=VBScript><!-- '//script made by Abhishek;see MS Agent Scripting Software site at http://www.abhisoft.net/ . dim Dot Sub Load1() on error resume next AgentControl.Connected = True AgentControl.Characters.Load "Dot", "Dot.ACS" Set Dot = AgentControl.Characters ("Dot") dot.show End Sub Sub Speak1() On Error Resume Next Load1() '//Character Must be loaded before telling him to speak. Dot.Show Dot.Width = 26 Dot.Height = 26 Dot.TTSModeID = "{DA23B471-C9C1-11D3-9BF2-00A0C967A2D1}"//dit zorgt voor de goede taal en de juiste spraakengine Dot.Balloon.Style = &H21C000E //dit zorgt ervoor dat er geen tekstballon wordt getoond Dot.Speak "\Spd=128\I read a book" // deze code: \Spd=128\ zorgt voor de juiste spreeksnelheid End Sub --></SCRIPT> <P> </P> <P> </P> <P> <A onmouseover=Speak1() //dit zorgt voor het mouseover effect style="COLOR: #ffff00" href="volgende.htm"><FONT //hier kunt je linken naar de volgende pagina die via een klik wordt geopend face=Arial>i read a book.</FONT></A> <P><FONT face="Avenir 65 Medium"> </FONT></P></BODY></HTML> |
Wat moet of kun je veranderen, als je zelf een oefening maakt? Of als de onder getoonde voorbeelden niet werken?
Nog even voor alle zekerheid: je neemt de taalcode over met klik en sleep, Ctrl+C, (kopieer) en Klik op de goede plek en Ctrl+V.
Metapad heeft een vervangfunctie waarmee je in een keer meerdere identieke zinnen of zinsneden vervangt;via Bewerken, Vervangen.
Dus je opent bijv. luister.htm in metapad, verandert eerst de naam naar latenzien.htm en verandert met de vervang functie Ik luister naar het lied in Ze liet me haar nieuwe jurk zien. Klik op Vervang alle. En eventueel de link naar de volgende pagina. Daarna vervang je in de Engelse framepagina de tekst en de link naar de volgende pagina.
Tenslotte maak je een nieuwe framehouderpagina showlatenzien.htm; verander luister.htm in latenzien.htm en listen.htm in show.htm.
Bekijk de voorbeelden met Realspeak:
De volgende voorbeelden zijn gemaakt met de spraaksoftware van de gratis te downloaden spraakengines; let op ik koos Brits Engels en Nederlands en daarvan de vrouwenstemmen.Jane: {DA23B471-C9C1-11D3-9BF2-00A0C967A2D1} en Linda: {A0DDCA40-A92C-11D1-B17B-0020AFED142E} .Vrouwenstemmen klinken altijd helderder en daarom beter.
Opdracht:
Maak nu nog twee pagina's met de teksten:
She is waiting for the bus Ze wacht op de bus waitwacht.htm, wait.htm, wacht.htm
We danced all night long We dansten de hele nacht dancedans.htm, dance,htm, dans.htm
Ik maakte voor de vijf pagina's een navigatiepagina.