(*********************************************************************
 *
 *  :Program.    TestOfSpeech.mod
 *  :Author.     Michael Frieß
 *  :Address.    Kernerstr. 22a
 *  :Address.    7000 Stuttgart 1
 *  :shortcut.   [MiF]
 *  :Version.    1.0
 *  :Date.       01.11.88
 *  :Copyright.  PD
 *  :Language.   Modula-II
 *  :Translator. M2Amiga
 *  :Contents.   Testroutine für das Modul "Speech"
 *
 *********************************************************************)

MODULE TestOfSpeech;

FROM InOut   IMPORT ReadString, WriteString, WriteLn;
FROM Strings IMPORT Length;
FROM Speech IMPORT OpenNarrator, CloseNarrator, SayPhonemes,
                   DefaultVoice, language, Translate;

CONST module = "Speach V1.0";
      copyright = "Speach: (C) Copyright 1988 by Michael Frieß";

VAR Phonemes: ARRAY [1..150] OF CHAR;
    Str     : ARRAY [1..80] OF CHAR;
    Result  : INTEGER;

BEGIN
 OpenNarrator (FALSE);
 Result := Translate
 ("Das ist die Spra-che des A-mi-gas.", Phonemes, German);
 SayPhonemes (Phonemes, DefaultVoice);
 WriteString
 ("Die Texte müssen in Anführungsstriche angegeben werden und dürfen");
 WriteLn; WriteString
 ("eine Zeile nicht überschreiten. Silbentrennung können Sie mit");
 WriteLn; WriteString
 (">Underscore< markieren.");
 WriteLn; WriteString
 ("Das Programm wird mit RETURN ohne Texteingabe beendet.");
 WriteLn;
 REPEAT
  Str := "";
  ReadString (Str);
  WriteLn;
  IF Length(Str) > 0 THEN
   Result := Translate (Str, Phonemes, German);
   IF Result = 0 THEN
    WriteString ("übersetzt in Phoneme"); WriteLn;
    WriteString (Phonemes); WriteLn;
    SayPhonemes (Phonemes, DefaultVoice)
   ELSE
    WriteString ("Fehler bei der Übersetzung.");
    WriteLn
   END
  END;
 UNTIL Length(Str) = 0;
 CloseNarrator;
 WriteString ("Ende des Programmes"); WriteLn;
END TestOfSpeech.
