- 169 -Enders, Bernd (Hrsg.): KlangArt-Kongreß 1993: Neue Musiktechnologie II 
  Erste Seite (3) Vorherige Seite (168)Nächste Seite (170) Letzte Seite (381)      Suchen  Nur aktuelle Seite durchsuchen Gesamtes Dokument durchsuchen     Aktuelle Seite drucken Hilfe 


Stimmen parallel gespielt werden, müssen die Noteninformationen allerdings in einem einzigen Aufruf zusammengefaßt werden, denn am Anfang und Ende eines "sound"-Aufrufs werden implizite Synchronisationspunkte gesetzt.



2.3 Grammatiken zur Erzeugung musikalischer Strukturen


Definite Clause Grammers (DCG's) sind eine Form kontextfreier Grammatiken, die sich sehr einfach in Prolog-Programme (Hornformeln) übersetzen läßt. Der Übersetzer von DCG-Regeln in Hornformeln läßt sich selbst einfach als Prolog-Programm realisieren. DCG's sind damit die Standardnotation von Grammatiken in Prolog.

In G_LOG ist ein Übersetzungsoperator -> definiert, der Regeln in Prolog-Klauseln und

zurück übersetzt.

Die Regelsyntax in G_LOG (; trennt Alternativen, ... symbolisiert eine Folge von gleichartigen

Ausdrücken):


   NT      ::= nichtterminales Symbol


  REGEL   ::= LINKS -> RECHTS ... .

  LINKS   ::= NT ; NT(TERM ...)

  RECHTS  ::= NT ; NT(TERM ...) ; [TERM ...] ; < AUSSAGE ... >


Ausdrücke in eckigen Klammern werden als terminale Symbole interpretiert, Ausdrücke in spitzen Klammern als normale G_LOG-Goals. In anderen Prologsystemen stehen statt der spitzen Klammern geschweifte Klammern für eingebettete Prologausdrücke, in G_LOG werden diese aber für Featureterme benötigt. Nichtterminale Symbole dürfen Argumente haben. Sie stehen in runden Klammern hinter dem Symbol. Regeln werden wie Klauseln durch einen Punkt abgeschlossen.


Die Regeln:


          Ein Satz ist eine NP (Nominalphrase) gefolgt von einer VP (Verbalphrase).

          Die VP konstruiert aus der Bedeutung der NP die Bedeutung des Satzes.


          "Hans" ist eine NP mit dem Term "hans" als Bedeutung.

          "schläft" ist eine VP mit dem Prädikat "schlafen" als Bedeutung.


lauten notiert als DCG-Regeln in G_LOG:


  S(*S) -> NP(*NP) VP(*NP *S) .

  NP(hans) -> [Hans] .

  VP(*x (schlafen *x)) -> [schläft] .


Erste Seite (3) Vorherige Seite (168)Nächste Seite (170) Letzte Seite (381)      Suchen  Nur aktuelle Seite durchsuchen Gesamtes Dokument durchsuchen     Aktuelle Seite drucken Hilfe 
- 169 -Enders, Bernd (Hrsg.): KlangArt-Kongreß 1993: Neue Musiktechnologie II