EP1164575A2 - Generation of vocal announcements - Google Patents

Generation of vocal announcements Download PDF

Info

Publication number
EP1164575A2
EP1164575A2 EP01440138A EP01440138A EP1164575A2 EP 1164575 A2 EP1164575 A2 EP 1164575A2 EP 01440138 A EP01440138 A EP 01440138A EP 01440138 A EP01440138 A EP 01440138A EP 1164575 A2 EP1164575 A2 EP 1164575A2
Authority
EP
European Patent Office
Prior art keywords
program
announcement
segment
voice
voice announcement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP01440138A
Other languages
German (de)
French (fr)
Other versions
EP1164575A3 (en
Inventor
Benoit Labrique
Richard Moss
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alcatel CIT SA
Alcatel Lucent SAS
Original Assignee
Alcatel CIT SA
Alcatel SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel CIT SA, Alcatel SA filed Critical Alcatel CIT SA
Publication of EP1164575A2 publication Critical patent/EP1164575A2/en
Publication of EP1164575A3 publication Critical patent/EP1164575A3/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/027Concept to speech synthesisers; Generation of natural phrases from machine-based concepts

Definitions

  • the invention relates to a method for outputting a Voice announcement according to the preamble of claim 1, a voice announcement module according to the preamble of claim 2 and a program module according to the preamble of claim 3.
  • Known voice announcement modules are designed to use announcements to output a simple structure. These mainly exist from a, possibly divided, fixed part and a variable part Part. Examples of this are time announcements ("It is now “,” five “,” clock “,” thirty-two “.), also as part of one Timetable information, the announcement of a changed number or the cost of a long distance call just ended.
  • announcements are more complicated Structure, for example with alternatives, cannot be automated possible.
  • the invention is based, with announcements More complicated structure, for example with alternatives, can be automated to enable.
  • this object is achieved by a method according to the teaching of claim 1, a voice announcement module according to the Teaching of claim 2 and a program module according to the teaching of Claim 3.
  • the invention is based on the idea of a programming language to create announcements and then use this to control the voice announcement.
  • the presented invention also has the advantage that the Program segments not only used for the control of announcements can be, but that also beyond that Documentation of a voice announcement module is possible directly.
  • the invention relates a voice announcement and therefore deals with language and on the other hand, the invention manifests itself in the form of a Programming language. So the language doesn't just occur here as a means of describing the invention, but also as content and expression of the invention in appearance.
  • Example 1 of Figure 1 As in most others Examples, it is assumed that the speech output in English language.
  • the language elements to be output e.g. B. Good morning, good afternoon, good evening therefore, as an expression of the invention, reproduced in English, although the description of the invention here in German Language takes place.
  • an automatic translator becomes the most natural References available using a language special table depending on the context in an application-specific Format transferred, then from the invention Voice announcement module can be read.
  • This programming language supports making it more flexible and readable also punctuation symbols. These are unchangeable characters used in translation have no meaning. They can be added by the user or removed to improve the look and readability improve, but have no technical impact.
  • An announcement is a collection of fixed elements ("elements”), like “no connection under this number” and complex Segments ("Complex_Segments”), for the specific application runtime-specific information, such as parameters, is still required are.
  • elements fixed elements
  • Complex_Segments complex Segments
  • Announcement (Prefix), Segment_List, (Suffix), in which:
  • a “Macro_Reference” is a reference to a macro, which in turn is a collection of elements and segments, as well any announcement in which an element or part of it is symbolic can be replaced by a parameter.
  • a macro is at the compilation resolved, with each Macro_Parameter by its value taken from the parameter list "Parameter_List" is replaced.
  • a macro works here just like in any known one higher programming language, for example C ++.
  • a "Parameter_Number” is a natural number that represents the nth parameter representing "Parameter_List”.
  • a "punctuation sign” is any character that is not the character set "/; ⁇ > ⁇ () []
  • the "Flush sign” is intended as a sign for carriage return or be treated for a new line. It only matters if, for example in addition to the voice output, a text output he follows. For example, the so-called “flush sign” “Backslash”, “ ⁇ ”, a character used for other purposes are not needed.
  • Example 2 according to FIG. 1 shows the programming for the announcement a price, assuming that the call is not is or was completely in vain.
  • the syntax of the "Parameter_Fixed" used. First there is a fixed announcement component, "Your call costs", followed by an entry in Dollars and cents. The current values for this, ⁇ Dollar> and ⁇ Cent>, are used when this announcement is called becomes. The associated units, dollars, dollars, cents or Cents, are added afterwards, with each by value the singular form, dollars or cents, or the plural form, Dollars or cents that unit is spent. Is one of the two values zero, this is not output and also suppresses the associated unit. The connecting "and” is suppressed if the preceding value, ⁇ Dollar>, Is zero as well if the subsequent value, ⁇ Cent>, is zero is.
  • Example 3 in Figure 1 shows an announcement similar to that in the example 2, but only rounded up or down to whole dollars.
  • Simply suppressing information is no longer sufficient. Therefore here by the Branch_Segment DollarUnequalZero distinguished the cases that something paid is "costs ⁇ Dollar> (Dollars / Dollars)" and that in total nothing to pay is "is free”. The suppression of unity is not necessary here, because this branch just started anyway if the value is non-zero.
  • Branch_Segment DollarUnequalZero defines it differently or through another Branch_Segment, such as PriceUnequalZero needs to be replaced.
  • the instructions DollarUnequalZero and PriceUnequalZero have to do this, as with Programming languages common, elsewhere, for example as a function or subroutine can be defined.
  • Branch_Segments DollarUnequalZero could also do this directly the following equation (Dollar • Zero) can be entered. In such simple cases, it may not be worthwhile to have a separate one Provide function and call it up. To what extent this also applies to a modified branch segment, for example PriceUnequalZero would apply, would not depend on this here defined internal structure.
  • Example 4 and Example 5 Figure 1 and Example 6 from Figure 2 show examples of possible Confirmations of changes made by the user User profile. These three examples each show one first announcement part, in which the type of change made "Your calls will be forwarded" or "You entered a filter for the following directory numbers ", and one second part, which confirms the content of the change made, namely in the case of call forwarding or forwarding the respective Goal "to your mobile telephone! or "to your answer machine. "and in the case of entering a number of phone numbers for a phone number filter are the Block_Reference ⁇ Repetitive
  • Example 8 in FIG. 2 shows a simple output for the In the event that there is no connection under the dialed number.
  • the output is first through the execution of a macro instruction " « ThreeToneSuite »” and then by a simple one Edition "No abonnee on this number” completed.
  • this Example is hinted at another possibility, comments to use.
  • comment to use As in any programming language, here too provision is made for comments to be inserted.
  • ThreeToneSuite is defined like " ⁇ Tone800Hz>; ⁇ Tone1000Hz>; ⁇ Tone1200Hz>; ⁇ Pause500ms> "'added to briefly explain the content of this macro.
  • the macro itself must can of course be defined elsewhere.
  • Example 9 and Example 10 Figure 2 show the same output, namely the indication a cost amount in a Slavic language, namely in Russian.
  • Slavic languages have two different plural formations, that must be taken into account in the output. (Strictly speaking the genitive singular is used here as a second plural formation used.)
  • first table for saving of announcements shows one first column with unique identifiers, a second column with the names of the respective announcements, a third column with the language used, ultimately a comment, and a fourth column with the definitions of the announcements.
  • a column with comments can also be provided.
  • a further table can also be provided contains only comments and about the unique identifiers with Rows from this table or with rows from other tables is linked.
  • a second table contains the "Block_Segments", the columns for unique identifiers, for the names that "Block_References”, and for the definitions of these "Block_Segments” has. Further definitions are in others Tables saved.
  • it can be an operator's fee calculator Telecommunications network, on the ongoing charge information be sent and not just for the monthly Fee statements should be used, but after Ending a conversation as the costs incurred Outputs language.
  • These costs can be derived from the data content of one the connection data of this conversation containing data record be determined.
  • a second may then become Data record that contains specific information about the connection which caused these costs, derived in which Language to be output. Examples of this are the Examples 2, 3, 9 and 10 from FIGS. 1 and 2.
  • This "server” can also be a switching computer, the incoming calls in a so-called call center the individual operator stations distributed. Access from Pages of the voice announcement module on the data records of the On hold waiting calls may be possible for each individual of which determine the current position and, as in the example 7 shown in Figure 2, to be able to output as language.
  • the indicated data access means still voice output means required with which those formed by the voice announcement module Voice announcements can actually be output.
  • Voice announcements In the implementation must be done in a manner known per se the voice announcement compiled in individual cases into spoken Language and its output via a suitable (analog or digital) connection to a telecommunications network.
  • Examples 1 and 8 of Figures 1 and 2 show two possible ones Announcements from a switching computer, in the event that under no subscriber to the dialed number via this switching computer can be achieved.
  • a new subscriber number (example 1) issued or it is announced that this subscriber number there is no entry (example 8).
  • the request in the Subscriber database of this switching computer then contains either a record that is under the previous, now selected Call number contains a reference to the new number or it comes in response to the data access means data access an error message as a special form of a data record back, which says that there is no entry.
  • Voice announcement modules can be equipped, but also at the same time used to maintain at least part of the data, are the basis for the voice prompts.
  • Voice announcement modules can be equipped, but also at the same time used to maintain at least part of the data, are the basis for the voice prompts.
  • Data is ongoing, including input and output means such as also shown in Figure 3 are required. Change here organizational processes, which in turn an adjustment of the voice prompts required.
  • the present invention is programming newer or changing existing announcements is relatively easy and can also be carried out by less trained personnel. Therefore in such cases it is advantageous if the voice announcement module is also equipped with suitable editing tools. Therefor can usually those that already exist in almost all computers Editors or a writing program can be used.
  • the computer used should also have and output options (microphone, loudspeaker) for spoken Have language to record texts and programmed Test announcements.
  • the structure of the program module according to the invention for use for implementation in a voice announcement module according to the invention of the inventive method for outputting a voice announcement is common in itself. It’s part of normal programming, a program in segments (subroutines, procedures) split, with individual segments more for control of the process and others for carrying out individual activities are intended this program with drivers for data access and to connect to voice output and with the above to fill the inventive content shown.

Abstract

Die Erfindung betrifft ein Verfahren zur Ausgabe einer Sprachansage, deren Inhalt vom Daten-Inhalt mindestens eines Datensatzes abhängt, bei dem mittels eines ersten Programmsegments aufgrund des Daten-Inhalts ein Ansagetyp ausgewählt wird, bei dem ein zweites Programmsegment zur programmgesteuerten Ausgabe bereitgestellt wird, das für den ausgewählten Ansagetyp geeignet ist, bei dem die für das bereitgestellte zweite Programmsegment erforderlichen Parameter ermittelt werden und bei dem die dem ausgewählten Ansagetyp unter Berücksichtigung der ermittelten Parameter entsprechende Sprachansage ausgegeben wird. Die Erfindung betrifft weiter ein Sprachansagemodul und eine Programm-Modul dafür. <IMAGE>The invention relates to a method for outputting a voice announcement, the content of which depends on the data content of at least one data record, in which an announcement type is selected on the basis of the data content by means of a first program segment, in which a second program segment is provided for program-controlled output, which is used for the selected announcement type is suitable, in which the parameters required for the second program segment provided are determined and in which the voice announcement corresponding to the selected announcement type is output, taking into account the determined parameters. The invention further relates to a voice announcement module and a program module therefor. <IMAGE>

Description

Die Erfindung betrifft ein Verfahren zur Ausgabe einer Sprachansage nach dem Oberbegriff des Anspruchs 1, ein Sprachansagemodul nach dem Oberbegriff des Anspruchs 2 und ein Programm-Modul nach dem Oberbegriff des Anspruchs 3.The invention relates to a method for outputting a Voice announcement according to the preamble of claim 1, a voice announcement module according to the preamble of claim 2 and a program module according to the preamble of claim 3.

Bekannte Sprachansagemodule sind konzipiert, um Ansagen mit einer einfachen Struktur auszugeben. Diese bestehen vorwiegend aus einem, möglicherweise geteilten, festen Teil und einem variablen Teil. Beispiele hierfür sind Zeitansagen ("Es ist jetzt", "fünf", "Uhr", "zweiunddreißig".), auch als Teil einer Fahrplanauskunft, die Ansage einer geänderten Rufnummer oder die Nennung der Kosten eines soeben beendeten Ferngesprächs.Known voice announcement modules are designed to use announcements to output a simple structure. These mainly exist from a, possibly divided, fixed part and a variable part Part. Examples of this are time announcements ("It is now "," five "," clock "," thirty-two ".), also as part of one Timetable information, the announcement of a changed number or the cost of a long distance call just ended.

Bei den bekannten Sprachansagemodulen sind Ansagen mit komplizierterer Struktur, etwa mit Alternativen, nicht automatisierbar möglich.In the known voice announcement modules, announcements are more complicated Structure, for example with alternatives, cannot be automated possible.

Der Erfindung liegt die Aufgabe zugrunde, auch Ansagen mit komplizierterer Struktur, etwa mit Alternativen, automatisierbar zu ermöglichen.The invention is based, with announcements More complicated structure, for example with alternatives, can be automated to enable.

Diese Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren nach der Lehre des Anspruchs 1, ein Sprachansagemodul nach der Lehre des Anspruchs 2 und ein Programm-Modul nach der Lehre des Anspruchs 3.According to the invention, this object is achieved by a method according to the teaching of claim 1, a voice announcement module according to the Teaching of claim 2 and a program module according to the teaching of Claim 3.

Der Erfindung liegt letztlich der Gedanke zugrunde, eine Programmiersprache zur Programmierung von Ansagen zu schaffen und diese dann zur Steuerung der Sprachansage zu verwenden.Ultimately, the invention is based on the idea of a programming language to create announcements and then use this to control the voice announcement.

Weitere Ausgestaltungen der Erfindung sind den Unteransprüchen und der nachfolgenden Beschreibung zu entnehmen.Further embodiments of the invention are the subclaims and the following description.

Die vorgestellte Erfindung hat auch noch den Vorteil, daß die Programmsegmente nicht nur für die Steuerung von Ansagen verwendet werden können, sondern daß damit darüber hinaus auch die Dokumentation eines Sprachansagemoduls direkt möglich ist.The presented invention also has the advantage that the Program segments not only used for the control of announcements can be, but that also beyond that Documentation of a voice announcement module is possible directly.

Im folgenden wird die Erfindung unter Zuhilfenahme der beiliegenden Zeichnungen weiter erläutert:

Figur 1
zeigt eine Reihe von Beispielen von Ansagetypen, aus denen durch das erfindungsgemäße Verfahren in einem erfindungsgemäßen Sprachansagemodul ausgewählt und die entsprechend den aktuellen Parametern variiert und ausgegeben werden.
Figur 2
zeigt eine weitere Reihe von Beispielen wie in Figur 1.
Figur 3
zeigt mehr symbolisch ein Ausführungsbeispiel eines PCs mit einem erfindungsgemäßen Sprachansagemodul.
The invention is explained in more detail below with the aid of the accompanying drawings:
Figure 1
shows a series of examples of announcement types, from which the inventive method in a voice announcement module according to the invention is selected and which are varied and output according to the current parameters.
Figure 2
shows a further series of examples as in Figure 1.
Figure 3
shows more symbolically an embodiment of a PC with a voice announcement module according to the invention.

Anhand von Beispiel 1 der Figur 1 wird zunächst kurz aufgezeigt, wie sich die Erfindung äußern kann.Using example 1 in FIG. 1, it is first shown briefly that how the invention can express itself.

Vorab soll aber zunächst ein Wort zur Sprache gesagt werden. (Dies ist gleichzeitig ein Hinweis an diejenigen Übersetzer, die später von der englischen Version ausgehend in weitere Sprachen übersetzen müssen.) Einerseits betrifft die Erfindung eine Sprachansage und beschäftigt sich schon deshalb mit Sprache und andererseits äußert sich die Erfindung in der Form einer Programmiersprache. Hier tritt die Sprache also nicht nur als Mittel zur Beschreibung der Erfindung, sondern auch als Inhalt und Ausdrucksform der Erfindung in Erscheinung.But first a word about the language should be said. (This is also a note to those translators which later based on the English version in more Must translate languages.) On the one hand, the invention relates a voice announcement and therefore deals with language and on the other hand, the invention manifests itself in the form of a Programming language. So the language doesn't just occur here as a means of describing the invention, but also as content and expression of the invention in appearance.

Hier, im Beispiel 1 der Figur 1, wie auch in den meisten anderen Beispielen, wird unterstellt, daß die Sprachausgabe in englischer Sprache erfolgen soll. Die auszugebenden Sprachelemente, z. B. "Good morning, Good afternoon, Good evening" sind deshalb, als Ausdrucksform der Erfindung, in englisch wiedergegeben, obwohl die Beschreibung der Erfindung hier in deutscher Sprache erfolgt. Das Gleiche gilt erst recht für den Programmcode als solchen, beispielsweise die Variablennamen, wie "<Area Code>", oder Anweisungen, wie "loop infinite". Es gilt aber auch für Anmerkungen, wie "where ThreeToneSuite is defined like" im Beispiel 8 in Figur 2, weil erfindungsgemäß auch nichtausführbare "Anweisungen" als Kommentare zulässig sind und diese dann in der Regel eben in englisch geschrieben werden.Here, in Example 1 of Figure 1, as in most others Examples, it is assumed that the speech output in English language. The language elements to be output, e.g. B. Good morning, good afternoon, good evening therefore, as an expression of the invention, reproduced in English, although the description of the invention here in German Language takes place. The same applies even more to the program code as such, for example the variable names such as "<Area Code> ", or instructions like" loop infinite ". But it applies also for comments like "where ThreeToneSuite is defined like "in Example 8 in Figure 2, because according to the invention also non-executable "instructions" are allowed as comments and these are then usually written in English.

Eine Ausnahme ist anhand der Beispiele 9 und 10 in Figur 2 dargestellt und wird im Zusammenhang mit der Beschreibung dieser Beispiele besprochen.An exception is based on Examples 9 and 10 in Figure 2 shown and is in connection with the description of this Examples discussed.

Was also in der ursprünglichen deutschsprachigen Version in deutscher Sprache zum Ausdruck gebracht wird, ist Beschreibung der Erfindung, während das, was in englischer Sprache zum Ausdruck gebracht wird, Inhalt oder Ausdrucksform der Erfindung ist. (In den weiteren Übersetzungen kann dies dann wieder ebenso unterschieden werden.) Aber auch in der englischsprachigen Version wird zumindest das, was in der Zeichnung in den Beispielen genannt und in der Beschreibung aus den Beispielen der Zeichnung zitiert wird, als Inhalt oder Ausdrucksform der Erfindung klar zu erkennen sein.So what in the original German language version in German language is expressed is description of the invention while what is expressed in English brought, content or form of expression of the invention is. (This can be done in the other translations as well can be distinguished.) But also in English Version will at least be what is in the drawing in the examples called and in the description from the examples of Drawing is cited as the content or form of expression of the invention be clearly recognizable.

Selbstverständlich sind damit, wie bei Erfindungen in anderen Bereichen der Technik, länderspezifische Anpassungen nicht ausgeschlossen. Hier jedoch würden sich solche länderspezifischen Anpassungen in erster Linie durch das Ersetzen der Syntaxelemente durch solche äußern, die auf der jeweiligen Landessprache basieren.Of course, as with inventions in others Areas of technology, country-specific adjustments not excluded. Here, however, such country-specific Adjustments primarily by replacing the syntax elements by expressing them in the respective national language based.

Doch nun zurück zu Beispiel 1 der Figur 1:But now back to Example 1 of Figure 1:

Zunächst wird mit "[Good morning, Good afternoon, Good evening]" eine Anrede entsprechend der Tageszeit ausgewählt und ausgegeben, wobei die Auswahl automatisch erfolgt. Anschließend wird eine neue Rufnummer einschließlich der erforderlichen Vorwahl angesagt, indem zwei feste Satzbestandteile, "the number you have dialled has changed. Please dial the area code" und "followed by the new number", mit zwei Variablen, "<Area Code>" und "<B-party number>", abwechseln. In einer Endlosschleife, "{loop infinite | <half second pause> I repeat, please dial the area code <Area Code> followed by the new number <B-party number> }", wird daraufhin solange die Ausgabe unter Hinzufügung einer Pause, "<half second pause>", und des Hinweises auf die Wiederholung, "I repeat", wiederholt, bis der Adressat der Ausgabe diese abbricht. Die Pause wird hier der Einfachheit halber als eine Variable mit vorgebbarer Länge, jedoch ohne Sprachinhalt ausgegeben.First, "[Good morning, Good afternoon, Good evening]" a salutation selected according to the time of day and output, whereby the selection is made automatically. Subsequently will be a new number including the required area code announced by two fixed sentence components, "the number you have dialed has changed. Please dial the area code "and "followed by the new number", with two variables, "<Area Code>" and "<B-party number>" alternate. In an endless loop, "{loop infinite | <half second pause> I repeat, please dial the area code <area code> followed by the new number <B-party number> } ", the output will then be added as long a pause, "<half second pause>", and a reference to the Repeat, "I repeat", repeated until the addressee of the issue this breaks off. The break is here for the sake of simplicity as a variable with a predeterminable length, but without language content spent.

In diesem Beispiel werden die Syntaxelemente "Anrede", "feste Satzbestandteile", "Variablen" und "Schleifen" benutzt und beispielhaft vorgestellt. Bevor auf weitere Beispiele eingegangen wird, wird kurz die Syntax dieser Programmiersprache zusammenfassend, jedoch nicht unbedingt vollständig, dargestellt; eine Ergänzung, Abwandlung oder auch eine Reduzierung soll nicht ausgeschlossen sein.In this example, the syntax elements "Salutation", "are fixed Sentence components "," Variables "and" Loops "used and exemplary presented. Before going into further examples the syntax of this programming language is briefly summarized, but not necessarily completely, shown; a Supplement, modification or even a reduction should not be excluded.

Beim Vergleich mit einer üblichen Programmiersprache wie C, C++ oder Pascal zeigt sich, daß die Programmiersprache, in der sich das erfindungsgemäße Verfahren äußert, ohne ausdrückliche Befehle ("explicit commands") auskommt. Sie besteht vielmehr aus Verweisen ("references") und Trennungen ("separators"). Die Verweise stellen dabei die Verbindungen (links) dorthin dar, wo sich die erforderliche Information befindet, während die Trennungen den Kontext definieren, in den die Verweise gestellt sind. Die Verweise, etwa eine Textfolge, sind nur im Zusammenhang mit einem Kontext von Bedeutung. Durch Verwendung einer bestimmten Trennung, etwa "<" oder ">", kann der Kontext und damit die Bedeutung des Verweises geändert werden.When comparing with a common programming language like C, C ++ or Pascal shows that the programming language in which the method according to the invention expresses itself without express Commands ("explicit commands"). Rather, it exists from references and "separators". The References represent the connections (left) to where there is the required information during the disconnections define the context in which the references are placed are. The references, such as a text sequence, are only related with a context of importance. By using a certain separation, such as "<" or ">", the context and to change the meaning of the reference.

In der Praxis wird ein automatischer Übersetzer die in natürlicher Sprache vorliegenden Verweise unter Zuhilfenahme einer besonderen Tabelle je nach vorliegendem Kontext in ein anwendungsspezifisches Format übertragen, das dann vom erfindungsgemäßen Sprachansagemodul gelesen werden kann. Um die Eingabe flexibler und lesbarer zu gestalten, unterstützt diese Programmiersprache auch Zeichensetzungssymbole ("punctuation symbols"). Dies sind unveränderliche Zeichen, die bei der Übersetzung keine Bedeutung haben. Sie können vom Benutzer hinzugefügt oder entfernt werden, um das Aussehen und die Lesbarkeit zu verbessern, haben aber keine technische Auswirkung.In practice, an automatic translator becomes the most natural References available using a language special table depending on the context in an application-specific Format transferred, then from the invention Voice announcement module can be read. To input This programming language supports making it more flexible and readable also punctuation symbols. These are unchangeable characters used in translation have no meaning. They can be added by the user or removed to improve the look and readability improve, but have no technical impact.

Auf diese Weise kann sehr einfach und auch nach nur kurzer Einarbeitung ein Sprachansagemodul programmiert werden, wobei das Ergebnis, also das Programm, sowohl unmittelbar für die Dokumentation geeignet ist als auch nach automatischer Übersetzung in eine niedrigere anwendungsspezifische Sprache übersetzt werden kann.This way it can be very easy and even after a short one Incorporation of a voice announcement module can be programmed, whereby the result, i.e. the program, both directly for the documentation is suitable as well as after automatic translation translated into a lower application specific language can be.

Eine Ansage ist eine Sammlung von festen Elementen ("elements"), wie "kein Anschluß unter dieser Nummer" und komplexen Segmenten ("Complex_Segments"), für die bei der konkreten Anwendung noch laufzeitspezifische Angaben, wie Parameter, erforderlich sind. Beispielsweise steht bei der Ansage "Der Anruf kostet <x> DM" das "<x>" für einen Parameter, der erst bekannt ist, wenn die Ansage wirklich erfolgt. Dabei ist "Laufzeit", (engl.: runtime) ein Ausdruck für denjenigen Augenblick, zu dem die Zusammenstellung zu einer aktuell auszugebenden Sprachansage tatsächlich erfolgt.An announcement is a collection of fixed elements ("elements"), like "no connection under this number" and complex Segments ("Complex_Segments"), for the specific application runtime-specific information, such as parameters, is still required are. For example, the announcement "The call costs <x> DM "the" <x> "for a parameter that is only known is when the announcement is really made. Where is "runtime" (English: runtime) an expression for the moment when the compilation of a current voice announcement actually done.

Im folgenden bedeutet (...) eine zusätzliche Möglichkeit ("option"), [...v...v...] eine Auswahl ("choice") und {...} eine Erweiterung ("extension").In the following (...) means an additional possibility ("option"), [... v ... v ...] a choice ("choice") and {...} one Extension.

Damit weist eine Ansage den folgenden Aufbau auf:
Ansage = (Prefix), Segment_List, (Suffix),
wobei:

Figure 00050001
Figure 00060001
An announcement thus has the following structure:
Announcement = (Prefix), Segment_List, (Suffix),
in which:
Figure 00050001
Figure 00060001

Ein Ausdruck, "Expression", ist ein algebraischer Ausdruck, der zur Laufzeit ausgewertet wird und bekannte Operatoren aufweist, wie beispielsweise +, -, /, *, % (modulo), ! (not), and, or, xor, =, <>, <=, >=, <, > oder irgendwelche anderen systemspezifischen Operatoren. Beispielsweise ist "(Month=2) and (day>15)" ein gültiger Ausdruck.An expression, "Expression" is an algebraic expression, which is evaluated at runtime and has known operators, such as +, -, /, *,% (modulo),! (not), and, or, xor, =, <>, <=,> =, <,> or any other system specific Operators. For example, "(Month = 2) and (day> 15) "a valid expression.

Eine "Block_Reference" ist ein Verweis auf eine Einzelheit wie

  • 1. eine Schleifenanweisung wie "loop 5 times" oder "loop infinite" (nur bei Ausgabe von Wörtern): ({loop|...}),
  • 2. eine Anweisung für eine Dauer wie "10seconds" (nur bei Ausgabe von Wörtern): ({duration|...}),
  • 3. eine Anweisung zur Wiederholung wie "loop as long the parameter buffer is not empty": ({repetitive|...}) oder
  • 4. ein Ausdruck, der zur Laufzeit auszuwerten ist, wie "Euro=0 and Cent<>0", der zusammen mit dem IfThenElse_Segment ({Euro=0 and Cent<>0|(then)|(else)}) oder dem Branch_Segment ({Key pressed|1,2:...|5:...|ELSE:...}) benutzt wird.
  • A "Block_Reference" is a reference to a detail like
  • 1. a loop instruction such as "loop 5 times" or "loop infinite" (only when words are output): ({loop | ...}),
  • 2. an instruction for a duration like "10seconds" (only when words are output): ({duration | ...}),
  • 3. an instruction for repetition such as "loop as long the parameter buffer is not empty": ({repetitive | ...}) or
  • 4. an expression to be evaluated at runtime, such as "Euro = 0 and Cent <>0", which together with the IfThenElse_Segment ({Euro = 0 and Cent <> 0 | (then) | (else)}) or the Branch_Segment ({Key pressed | 1,2: ... | 5: ... | ELSE: ...}) is used.
  • Eine Complex_Reference ist ein Verweis auf eine komplexe Einzelheit wie

  • 1. ein Parameterwert und die dazugehörige Regel, nach der er erzeugt wird,
  • 2. eine (große) "Element_List" oder
  • 3. jede komplexe Einzelheit, die als Merkmal vorliegt.
  • A Complex_Reference is a reference to a complex detail like
  • 1. a parameter value and the associated rule according to which it is generated,
  • 2. a (large) "Element_List" or
  • 3. every complex detail that is present as a characteristic.
  • Eine "Macro_Reference" ist ein Verweis auf ein Makro, welches wiederum eine Sammlung von Elementen und Segmenten ist, sowie jede Ansage, bei der ein Element oder ein Teil davon symbolisch durch einen Parameter ersetzt werden kann. Ein Makro wird bei der Kompilation aufgelöst, wobei jeder Macro_Parameter durch seinen aus der Parameterliste "Parameter_List" entnommenen Wert ersetzt wird. Ein Makro arbeitet hier genauso wie in jeder bekannten höheren Programmiersprache, beispielsweise C++.A "Macro_Reference" is a reference to a macro, which in turn is a collection of elements and segments, as well any announcement in which an element or part of it is symbolic can be replaced by a parameter. A macro is at the compilation resolved, with each Macro_Parameter by its value taken from the parameter list "Parameter_List" is replaced. A macro works here just like in any known one higher programming language, for example C ++.

    Eine "Parameter_Number" ist eine natürliche Zahl, die den n-ten Parameter der "Parameter_List" repräsentiert.A "Parameter_Number" is a natural number that represents the nth parameter representing "Parameter_List".

    Ein "Punctuation sign" ist jedes Zeichen, das nicht dem Zeichensatz "/;<> {} () [] |" angehört. Es kann separat gespeichert werden und muß nicht Teil eines Elements sein (ein Element kann Bestandteil verschiedener Ansagen sein). Dieses Zeichen ist für die gesprochene Ansage ohne Bedeutung.A "punctuation sign" is any character that is not the character set "/; <> {} () [] |" listened to. It can be saved separately become and need not be part of an element (an element can Be part of various announcements). This sign is for the spoken announcement without meaning.

    Das "Flush sign" soll wie ein Zeichen für Wagenrücklauf oder für eine neue Zeile behandelt werden. Es ist nur von Bedeutung, wenn, beispielsweise zusätzlich zur Sprachausgabe, eine Textausgabe erfolgt. Beispielsweise kann als "Flush sign" der sogenannte "Backslash", "\", verwendet werden, ein Zeichen, das für andere Zwecke nicht gebraucht wird.The "Flush sign" is intended as a sign for carriage return or be treated for a new line. It only matters if, for example in addition to the voice output, a text output he follows. For example, the so-called "flush sign" "Backslash", "\", a character used for other purposes are not needed.

    Bevor auf die technische Implementierung eingegangen wird, soll noch kurz auf die in den Figuren 1 und 2 gezeigten weiteren Beispiele eingegangen werden:Before going into technical implementation, should briefly refer to the other shown in Figures 1 and 2 Examples are included:

    Beispiel 2 nach Figur 1 zeigt die Programmierung für die Ansage eines Preises, wobei unterstellt wird, daß der Anruf nicht völlig umsonst ist oder war. Dabei wird die Syntax des "Parameter_Fixed" verwendet. Zunächst erfolgt ein fester Ansagebestandteil, "Your call costs", gefolgt von einer Angabe in Dollar und Cent. Die aktuellen Werte hierfür, <Dollar> und <Cent>, werden dann eingesetzt, wenn diese Ansage abgerufen wird. Die zugehörigen Einheiten, Dollar, Dollars, Cent oder Cents, werden jeweils anschließend hinzugefügt, wobei noch je nach Wert die Singularform, Dollar oder Cent, oder die Pluralform, Dollars oder Cents, der Einheit ausgegeben wird. Ist einer der beiden Werte Null, so wird dieser nicht ausgegeben und auch die zugehörige Einheit unterdrückt. Das verbindende "and" wird sowohl unterdrückt, wenn der vorausgehende Wert, <Dollar>, Null ist als auch, wenn der nachfolgende Wert, <Cent>, Null ist.Example 2 according to FIG. 1 shows the programming for the announcement a price, assuming that the call is not is or was completely in vain. The syntax of the "Parameter_Fixed" used. First there is a fixed announcement component, "Your call costs", followed by an entry in Dollars and cents. The current values for this, <Dollar> and <Cent>, are used when this announcement is called becomes. The associated units, dollars, dollars, cents or Cents, are added afterwards, with each by value the singular form, dollars or cents, or the plural form, Dollars or cents that unit is spent. Is one of the two values zero, this is not output and also suppresses the associated unit. The connecting "and" is suppressed if the preceding value, <Dollar>, Is zero as well if the subsequent value, <Cent>, is zero is.

    Beispiel 3 in Figur 1 zeigt eine Ansage ähnlich der im Beispiel 2, jedoch nur auf ganze Dollar auf- oder abgerundet. Hier ist ein einfaches Unterdrücken von Angaben nicht mehr ausreichend. Deshalb werden hier durch das Branch_Segment DollarUnequalZero die Fälle unterschieden, daß etwas zu zahlen ist, "costs <Dollar> (Dollar/Dollars)", und daß insgesamt nichts zu zahlen ist, "is free". Die Unterdrückung der Einheit ist hier nicht erforderlich, weil dieser Zweig ohnehin nur angesprungen wird, wenn der Wert ungleich Null ist.Example 3 in Figure 1 shows an announcement similar to that in the example 2, but only rounded up or down to whole dollars. Here Simply suppressing information is no longer sufficient. Therefore here by the Branch_Segment DollarUnequalZero distinguished the cases that something paid is "costs <Dollar> (Dollars / Dollars)" and that in total nothing to pay is "is free". The suppression of unity is not necessary here, because this branch just started anyway if the value is non-zero.

    Für den Fall, daß einerseits genau abgerechnet werden soll, andererseits aber auch kostenlose Gespräche möglich sind, kann selbstverständlich eine Kombination beider Beispiele erfolgen, wobei dann aber das Branch_Segment DollarUnequalZero anders definiert oder durch ein anderes Branch_Segment, etwa PriceUnequalZero ersetzt werden muß. Die Anweisungen DollarUnequalZero und PriceUnequalZero müssen dabei, wie bei Programmiersprachen üblich, an anderer Stelle, etwa als Funktion oder Unterprogramm definiert werden. Anstelle des Branch_Segments DollarUnequalZero könnte hier auch direkt die dahinter stehende Gleichung (Dollar • Zero) eingegeben werden. In solch einfachen Fällen mag es sich nicht lohnen, eine separate Funktion bereitzustellen und diese jeweils aufzurufen. Inwieweit dies auch für ein abgewandeltes Branch_Segment, etwa PriceUnequalZero gelten würde, hinge von dem hier nicht näher definierten inneren Aufbau ab.In the event that on the one hand you want to bill exactly, on the other hand, free calls are also possible of course, a combination of both examples but then the Branch_Segment DollarUnequalZero defines it differently or through another Branch_Segment, such as PriceUnequalZero needs to be replaced. The instructions DollarUnequalZero and PriceUnequalZero have to do this, as with Programming languages common, elsewhere, for example as a function or subroutine can be defined. Instead of Branch_Segments DollarUnequalZero could also do this directly the following equation (Dollar • Zero) can be entered. In such simple cases, it may not be worthwhile to have a separate one Provide function and call it up. To what extent this also applies to a modified branch segment, for example PriceUnequalZero would apply, would not depend on this here defined internal structure.

    Die folgenden drei Beispiele, Beispiel 4 und Beispiel 5 aus Figur 1 und Beispiel 6 aus Figur 2, zeigen Beispiele für mögliche Bestätigungen auf vom Benutzer vorgenommene Änderungen seines Benutzerprofils. Diese drei Beispiele zeigen jeweils einen ersten Ansageteil, in dem die Art der vorgenommenen Änderung bestätigt wird, "Your calls will be forwarded" oder "You entered a filter for the following directory numbers", und einen zweiten Teil, der den Inhalt der vorgenommenen Änderung bestätigt, nämlich im Falle der Rufum- oder -weiterleitung das jeweilige Ziel, "to your mobile telephone!" oder "to your answer machine." und im Falle der Eingabe einer Reihe von Rufnummern für ein Rufnummernfilter werden durch die Block_Reference {Repetitive|<DN>} alle eingegebenen Rufnummern zur Kontrolle ausgegeben.The following three examples, Example 4 and Example 5 Figure 1 and Example 6 from Figure 2 show examples of possible Confirmations of changes made by the user User profile. These three examples each show one first announcement part, in which the type of change made "Your calls will be forwarded" or "You entered a filter for the following directory numbers ", and one second part, which confirms the content of the change made, namely in the case of call forwarding or forwarding the respective Goal "to your mobile telephone!" or "to your answer machine. "and in the case of entering a number of phone numbers for a phone number filter are the Block_Reference {Repetitive | <DN>} all entered phone numbers are output for checking.

    Anhand des Beispiels 7 in Figur 2 soll eine komplexer aufgebaute Ansage dargestellt werden. Gezeigt wird eine Aussage für einen Wartenden in einer Warteschlange. Zunächst erfolgt eine Begrüßung: "Hello, welcome by XYZ. All lines are busy. Your call is being queued.", auf die hin wiederholt durch eine Block_Reference, {loop infinite |...}, auf die Tatsache hingewiesen wird, daß man sich gerade in einer Warteschlage befindet: "You are the <xth> in the queue". Dabei wird noch, als Variable "<xth>" angegeben, der wievielte man in dieser Warteschlange ist. Aus der Geschwindigkeit, mit der hier zurückgezählt wird, kann man abschätzen, wie lange man noch etwa warten muß. Um das Herannahen des Endes der Warteschlange deutlicher zu machen, ist durch eine weitere Block_Reference, {pool | 1: <music1> | 2: <music2> | ELSE: <wait tone>}, für eine Abwandlung der Aussage gegen Schluß gesorgt. Bei jedem Durchlauf der unendlichen Schleife "loop infinite" wird noch ein akustisches Zeichen ausgegeben, das aus einem Pool, "pool", ausgewählt wird und das im Normalfall, "ELSE", ein Wartezeichen, "<wait tone>", ist und das gegen Ende der Warteschlange durch zwei verschiedene Musikfolgen, erst "<music2>", dann "<music1>" ersetzt wird. Das Wartezeichen könnte dabei, wie im nachfolgenden Beispiel, aus einer vorab definierten Tonfolge bestehen.Using example 7 in FIG. 2, a more complex one is to be constructed Announcement. A statement is shown for a person waiting in a queue. First there is a Greeting: "Hello, welcome by XYZ. All lines are busy. Your call is being queued. ", to which is repeated by a Block_Reference, {loop infinite | ...}, pointed out the fact is that you are currently in a queue: "You are the <xth> in the queue". It is also used as a variable "<xth>" specified the number of times in this queue is. From the speed at which it counts down you can estimate how much longer you have to wait got to. To make the end of the queue closer is to be made by another Block_Reference, {pool | 1: <music1> | 2: <music2> | ELSE: <wait tone>}, for a variation the statement against the end. Every time the infinite loop "loop infinite" is still an acoustic Output character that is selected from a pool, "pool" and usually, "ELSE", a wait character, "<wait tone>", at the end of the queue by two different ones Music sequences, first "<music2>", then "<music1>" is replaced. The waiting sign could, as in the example below, consist of a predefined sequence of tones.

    Das Beispiel 8 in Figur 2 zeigt eine einfache Ausgabe für den Fall, daß unter der gewählten Rufnummer kein Anschluß besteht. Die Ausgabe wird zunächst durch die Ausführung eines Makrobefehls "«ThreeToneSuite»" angeführt und dann durch eine einfache Ausgabe "No abonnee on this number" abgeschlossen. In diesem Beispiel ist noch eine Möglichkeit angedeutet, Kommentare zu verwenden. Wie in jeder Programmiersprache kann auch hier vorgesehen werden, daß Kommentare eingefügt werden. Eine in vielen Programmiersprachen vorgesehene Möglichkeit, besteht darin, daß alles unbeachtet bleibt, was nach einem Anführungszeichen, " ' ", folgt; hier wird auf diese Weise der Kommentar 'where ThreeToneSuite is defined like "<Tone800Hz> ; <Tone1000Hz> ; <Tone1200Hz> ; <Pause500ms>" ' angefügt, um kurz den Inhalt dieses Makros zu erklären. Das Makro selbst muß selbstverständlich an anderer Stelle definiert werden.Example 8 in FIG. 2 shows a simple output for the In the event that there is no connection under the dialed number. The output is first through the execution of a macro instruction "« ThreeToneSuite »" and then by a simple one Edition "No abonnee on this number" completed. In this Example is hinted at another possibility, comments to use. As in any programming language, here too provision is made for comments to be inserted. One in possibility provided in many programming languages in that everything is ignored, which is after a quotation mark, "'" follows; this way the commentary is here 'where ThreeToneSuite is defined like "<Tone800Hz>; <Tone1000Hz>; <Tone1200Hz>; <Pause500ms> "'added to briefly explain the content of this macro. The macro itself must can of course be defined elsewhere.

    Die letzten beiden Beispiele, Beispiel 9 und Beispiel 10 aus Figur 2, zeigen im Ergebnis dieselbe Ausgabe, nämlich die Angabe eines Kostenbetrags in einer slawischen Sprache, nämlich in Russisch. Slawische Sprachen haben zwei verschiedene Pluralbildungen, die bei der Ausgabe berücksichtigt werden müssen. (Genaugenommen wird hier der Genitiv Singular als zweite Pluralbildung verwendet.)The last two examples, Example 9 and Example 10 Figure 2, show the same output, namely the indication a cost amount in a Slavic language, namely in Russian. Slavic languages have two different plural formations, that must be taken into account in the output. (Strictly speaking the genitive singular is used here as a second plural formation used.)

    Um dies hier in einem nicht in einer slawischen Sprache vorliegenden Text zu zeigen, werden die Währungsangaben, "Roubel/Roublei/Roublia", um die es hier geht, in russischer Sprache, aber ins Englische transliteriert, wiedergegeben. Der Rest, sowohl die Ansagen selbst, "Your call costs", wie auch Kommentare, ((Russian announcement)), und andere Programmelemente, <Costs>, werden in englischer Sprache dargestellt. Hier wird die Verwendung doppelter runder Klammern als weitere Art betrachtet, einen Kommentar einzufügen. Ein solcher Kommentar soll einfach überlesen werden, während bei einem Anführungszeichen " ' " als Zeichen für einen Kommentar alles folgende nicht mehr beachtet werden soll.To do this here in a not available in a Slavic language To show text, the currency information, "Roubel / Rublei / Roublia", which is the subject here, in Russian Language, but translated into English, reproduced. The Rest, both the announcements themselves, "Your call costs", as well Comments, ((Russian announcement)), and other program elements, <Costs>, are shown in English. Here the use of double parentheses as a further type considered adding a comment. Such a comment should just be overlooked while using a quotation mark "'" as a sign for a comment does not do any of the following more should be considered.

    Im Beispiel 10 in Figur 2 sind beide Arten von Kommentaren zu sehen. Im Beispiel 9 wird hier unterstellt, daß mit dem Aufruf der Variablen <Costs> automatisch das Makro für die Auswahl der richtigen Währungseinheit mit aufgerufen wird, während dies im Beispiel 10 explizit durch den Makroaufruf «SlavicParFixed | <Costs> ; Roubel ; Roublei ; Roublia» erfolgt. In diesem Beispiel 10 sind auch ausführlichere Kommentare hinzugefügt, beispielsweise ist die Definition des Makros als Kommentar beigefügt.In example 10 in FIG. 2, both types of comments are closed see. In example 9 it is assumed here that with the call of the variable <Costs> automatically the macro for the selection of the correct currency unit is called while this is in Example 10 explicitly using the macro call «SlavicParFixed | <Costs>; Roubel; Rublei; Roublia ». In this example 10 more detailed comments are also added, for example the definition of the macro is attached as a comment.

    Nur wenn der Wert der Variablen <Costs> gleich "1" ist, wird als Währungseinheit die Singularform "Roubel" ausgegeben. Endet, bei einem Wert ungleich "1", der Wert der Variablen <Costs> auf 1, 2, 3 oder 4, nicht jedoch auf 11, 12, 13 oder 14, so wird die Form "Roublia" verwendet, während in allen anderen Fällen die Form "Roublei" verwendet wird.Only if the value of the variable <Costs> is "1" is issued the singular form "Roubel" as currency unit. Ends if the value is not equal to "1", the value of the variable <Costs> on 1, 2, 3 or 4, but not on 11, 12, 13 or 14, so the form "Roublia" is used, while in all others Cases the form "rublei" is used.

    Die verschiedenen Ansagen werden natürlich nicht so abgespeichert, wie in den Figuren 1 und 2 dargestellt. Insbesondere dient die hier verwendete graphische Darstellung, unter anderem auch mit verschiedenen Schriften, zwar dem besseren Verständnis, kann aber so nicht abgespeichert werden. Eine Sichtbarmachung in genau dieser Form ist aber mit einem entsprechend ausgebildeten Editor möglich. Die tatsächliche Speicherung erfolgt aber in Form von Tabellen.Of course, the different announcements are not saved as shown in Figures 1 and 2. In particular serves the graphic representation used here, among others also with different fonts, for better understanding, cannot be saved in this way. A visualization in exactly this form but with an appropriately trained Editor possible. The actual storage takes place but in the form of tables.

    So ist beispielsweise eine erste Tabelle für das Abspeichern von Ansagen als solchen vorgesehen. Diese Tabelle weist eine erste Spalte mit eindeutigen Kennungen, eine zweite Spalte mit den Bezeichnungen der jeweiligen Ansagen, eine dritte Spalte mit der jeweils verwendeten Sprache, letztlich ein Kommentar, und eine vierte Spalte mit den Definitionen der Ansagen auf. Weiter kann eine Spalte mit Kommentaren vorgesehen sein. Stattdessen kann aber auch eine weitere Tabelle vorgesehen sein, die nur Kommentare enthält und über die eindeutigen Kennungen mit Zeilen dieser Tabelle oder auch mit Zeilen anderer Tabellen verknüpft ist.For example, there is a first table for saving of announcements as such. This table shows one first column with unique identifiers, a second column with the names of the respective announcements, a third column with the language used, ultimately a comment, and a fourth column with the definitions of the announcements. A column with comments can also be provided. Instead However, a further table can also be provided contains only comments and about the unique identifiers with Rows from this table or with rows from other tables is linked.

    Eine zweite Tabelle enthält die "Block_Segments", die Spalten für eindeutige Kennungen, für die Bezeichnungen, die "Block_References", und für die Definitionen dieser "Block_Segments" aufweist. Weitere Definitionen sind in weiteren Tabellen abgespeichert.A second table contains the "Block_Segments", the columns for unique identifiers, for the names that "Block_References", and for the definitions of these "Block_Segments" has. Further definitions are in others Tables saved.

    Abschließend soll noch kurz auf die mehr äußere Form der Realisierung eingegangen werden. Fig. 3 zeigt hierzu einen an sich bekannten PC, der durch geeignete Ausstattung als erfindungsgemäßes Sprachansagemodul mit einem erfindungsgemäßen Programm-Modul ausgestattet ist. Der in diesem Beispiel gezeigte Bildschirm als Ausgabemittel und die hier gezeigte Tastatur als Eingabemittel sind in der Grundausstattung nicht zwingend erforderlich. Das Sprachansagemodul ist dann Bestandteil eines sogenannten Servers, also eines Rechners, der nur im Verbund mit anderen Rechnern arbeitet und für diese bestimmte Aufgaben übernimmt.In conclusion, let's briefly look at the more external form of realization To be received. 3 shows one for this purpose known PC, the appropriate equipment as inventive Voice announcement module with a program module according to the invention Is provided. The screen shown in this example as output means and the keyboard shown here as Input devices are not absolutely necessary in the basic configuration. The voice announcement module is then part of a so-called servers, i.e. a computer that only works in a network works with other computers and for certain tasks takes over.

    Beispielsweise kann es ein Gebührenrechner des Betreibers eines Telekommunikationsnetzes sein, an den laufend Gebühreninformationen gesendet werden und der nicht nur für die monatlichen Gebührenabrechnungen verwendet werden soll, sondern nach Beendigung eines Gesprächs jeweils die angefallenen Kosten als Sprache ausgibt. Diese Kosten können aus dem Daten-Inhalt eines die Verbindungsdaten dieses Gesprächs enthaltenden Datensatzes ermittelt werden. Möglicherweise wird dann noch aus einem zweiten Datensatz, der spezifische Angaben über den Anschluß enthält, der diese Kosten verursacht hat, abgeleitet, in welcher Sprache die Ausgabe erfolgen soll. Beispiele hierfür sind die Beispiele 2, 3, 9 und 10 aus den Figuren 1 und 2.For example, it can be an operator's fee calculator Telecommunications network, on the ongoing charge information be sent and not just for the monthly Fee statements should be used, but after Ending a conversation as the costs incurred Outputs language. These costs can be derived from the data content of one the connection data of this conversation containing data record be determined. A second may then become Data record that contains specific information about the connection which caused these costs, derived in which Language to be output. Examples of this are the Examples 2, 3, 9 and 10 from FIGS. 1 and 2.

    Dieser "Server" kann aber auch ein Vermittlungsrechner sein, der in einem sogenannten Call Center die ankommenden Anrufe auf die einzelnen Bedienplätze verteilt. Dabei muß ein Zugriff von Seiten des Sprachansagemoduls auf die Datensätze der in der Warteschleife wartenden Anrufe möglich sein, um für jeden einzelnen davon die aktuelle Position ermitteln und, wie im Beispiel 7 in Figur 2 gezeigt, als Sprache ausgeben zu können.This "server" can also be a switching computer, the incoming calls in a so-called call center the individual operator stations distributed. Access from Pages of the voice announcement module on the data records of the On hold waiting calls may be possible for each individual of which determine the current position and, as in the example 7 shown in Figure 2, to be able to output as language.

    In beiden Fällen, wie auch in jedem anderen Fall, sind außer den angedeuteten Datenzugriffsmitteln noch Sprachausgabemittel erforderlich, mit denen die durch das Sprachansagemodul gebildeten Sprachansagen auch wirklich ausgegeben werden können. In irgendeiner an sich bekannten Art und Weise muß die Umsetzung der im Einzelfall zusammengestellten Sprachansage in gesprochene Sprache und deren Ausgabe über einen geeigneten (analogen oder digitalen) Anschluß an ein Telekommunikationsnetz erfolgen.In both cases, as in any other case, are excluded the indicated data access means still voice output means required with which those formed by the voice announcement module Voice announcements can actually be output. In the implementation must be done in a manner known per se the voice announcement compiled in individual cases into spoken Language and its output via a suitable (analog or digital) connection to a telecommunications network.

    Der Datensatz, der die oben bereits erwähnten spezifischen Angaben über einen Anschluß enthält, wird oft auch als "Benutzerprofil" bezeichnet. Es kann nun zugelassen sein, daß ein Benutzer zumindest Teile dieses Datensatzes durch irgendeine Art der Ferneingabe selbst beeinflußt, und daß das Ergebnis dieser Ferneingabe anschließend als Sprache zur Kontrolle und Bestätigung wieder ausgegeben wird. Beispiele hierzu sind die Beispiele 4, 5 und 6 der Figuren 1 und 2.The data set that is specific to those already mentioned above Contains information about a connection is often also called a "user profile" designated. A user can now be allowed at least parts of this record by some sort the remote input itself, and that the result of this Remote entry then as a language for control and confirmation is issued again. Examples are the examples 4, 5 and 6 of Figures 1 and 2.

    Die Beispiele 1 und 8 der Figuren 1 und 2 zeigen zwei mögliche Ansagen eines Vermittlungsrechners, für den Fall, daß unter der gewählten Rufnummer kein Teilnehmer über diesen Vermittlungsrechner erreicht werden kann. Hier wird dann entweder, sofern bekannt, eine neue Teilnehmerrufnummer (Beispiel 1) ausgegeben oder es wird angesagt, daß unter dieser Teilnehmerrufnummer kein Eintrag vorliegt (Beispiel 8). Die Anfrage in der Teilnehmerdatenbank dieses Vermittlungsrechners enthält dann entweder einen Datensatz, der unter der bisherigen, jetzt gewählten Rufnummer einen Verweis auf die neue Rufnummer enthält oder es kommt als Antwort auf den Datenzugriff des Datenzugriffsmittels als Sonderform eines Datensatzes eine Fehlermeldung zurück, die besagt, daß kein Eintrag vorliegt.Examples 1 and 8 of Figures 1 and 2 show two possible ones Announcements from a switching computer, in the event that under no subscriber to the dialed number via this switching computer can be achieved. Here then either, if known, a new subscriber number (example 1) issued or it is announced that this subscriber number there is no entry (example 8). The request in the Subscriber database of this switching computer then contains either a record that is under the previous, now selected Call number contains a reference to the new number or it comes in response to the data access means data access an error message as a special form of a data record back, which says that there is no entry.

    Häufig werden solche Rechner, die mit erfindungsgemäßen Sprachansagemodulen ausgerüstet sein können, aber auch gleichzeitig zur Pflege zumindest eines Teils der Daten verwendet, die Grundlage für die Sprachansagen sind. In all diesen Fällen, beispielsweise in Hotels oder Krankenhäusern, ändern sich die Daten laufend, wozu zwingend auch Ein- und Ausgabemittel, wie in Figur 3 auch dargestellt, erforderlich sind. Hier ändern sich auch häufig die organisatorischen Abläufe, was dann wiederum eine Anpassung der Sprachansagen erfordert. Gerade bei der vorliegenden Erfindung ist aber die Programmierung neuer oder die Abänderung bestehender Ansagen verhältnismäßig einfach und auch von wenig geschultem Personal durchführbar. Deshalb ist es für solche Fälle vorteilhaft, wenn das Sprachansagemodul auch mit geeigneten Editiermitteln ausgestattet ist. Hierfür können meist die in beinahe allen Rechnern ohnehin vorhandenen Editoren oder auch ein Schreibprogramm verwendet werden. In diesem Fall sollte der verwendete Rechner zusätzlich über Ein- und Ausgabemöglichkeiten (Mikrofon, Lautsprecher) für gesprochene Sprache verfügen, um Texte aufzusprechen und programmierte Ansagen zu testen.Such computers are often used with the invention Voice announcement modules can be equipped, but also at the same time used to maintain at least part of the data, are the basis for the voice prompts. In all of these cases, for example in hotels or hospitals, they change Data is ongoing, including input and output means such as also shown in Figure 3 are required. Change here organizational processes, which in turn an adjustment of the voice prompts required. Especially with however, the present invention is programming newer or changing existing announcements is relatively easy and can also be carried out by less trained personnel. Therefore in such cases it is advantageous if the voice announcement module is also equipped with suitable editing tools. Therefor can usually those that already exist in almost all computers Editors or a writing program can be used. In In this case, the computer used should also have and output options (microphone, loudspeaker) for spoken Have language to record texts and programmed Test announcements.

    Der Aufbau des erfindungsgemäßen Programm-Moduls zur Verwendung in einem erfindungsgemäßen Sprachansagemodul zur Durchführung des erfindungsgemäßen Verfahrens zur Ausgabe einer Sprachansage ist an sich üblich. Es liegt im Rahmen üblicher Programmiertätigkeit, ein Programm in Segmente (Subroutines, Procedures) aufzuteilen, wobei einzelne Segmente mehr für die Steuerung des Ablaufs und andere für die Durchführung einzelner Tätigkeiten bestimmt sind, dieses Programm mit Treibern zum Datenzugriff und zur Sprachausgabe zu verbinden und mit den oben dargestellten erfinderischen Inhalten zu füllen.The structure of the program module according to the invention for use for implementation in a voice announcement module according to the invention of the inventive method for outputting a voice announcement is common in itself. It’s part of normal programming, a program in segments (subroutines, procedures) split, with individual segments more for control of the process and others for carrying out individual activities are intended this program with drivers for data access and to connect to voice output and with the above to fill the inventive content shown.

    Claims (4)

    Verfahren zur Ausgabe einer Sprachansage, deren Inhalt vom Daten-Inhalt mindestens eines Datensatzes abhängt, dadurch gekennzeichnet, daß mittels eines ersten Programmsegments aufgrund des Daten-Inhalts ein Ansagetyp ausgewählt wird, daß ein zweites Programmsegment zur programmgesteuerten Ausgabe bereitgestellt wird, das für den ausgewählten Ansagetyp geeignet ist, daß die für das bereitgestellte zweite Programmsegment erforderlichen Parameter ermittelt werden, und daß die dem ausgewählten Ansagetyp unter Berücksichtigung der ermittelten Parameter entsprechende Sprachansage ausgegeben wird.Method for outputting a voice announcement, the content of which depends on the data content of at least one data record, characterized in that an announcement type is selected on the basis of the data content by means of a first program segment, that a second program segment is provided for program-controlled output, which is available for the selected announcement type it is suitable that the parameters required for the second program segment provided are determined and that the voice announcement corresponding to the selected announcement type is output, taking into account the parameters determined. Sprachansagemodul zur Ausgabe einer Sprachansage, deren Inhalt vom Daten-Inhalt mindestens eines Datensatzes abhängt, dadurch gekennzeichnet, daß das Sprachansagemodul eine Programmsteuerung aufweist, daß ein erstes Programmsegment vorhanden ist, mittels dessen aufgrund des Daten-Inhalts ein Ansagetyp auswählbar ist, daß jedem Ansagetyp ein zweites Programmsegment aus einer Vielzahl zweiter Programmsegmente zugeordnet ist, daß Datenzugriffsmittel vorhanden sind, um die für ein ausgewähltes zweites Programmsegment erforderlichen Parameter aus dem mindestens einen Datensatz zu ermitteln, und daß Sprachausgabemittel vorhanden sind, um die dem ausgewählten Ansagetyp unter Berücksichtigung der ermittelten Parameter entsprechende Sprachansage auszugeben.Voice announcement module for outputting a voice announcement, the content of which depends on the data content of at least one data record, characterized in that the voice announcement module has a program control, that a first program segment is present, by means of which an announcement type can be selected on the basis of the data content, that each announcement type second program segment from a plurality of second program segments is assigned that data access means are available to determine the parameters required for a selected second program segment from the at least one data record, and that speech output means are available to provide the voice announcement corresponding to the selected announcement type taking into account the determined parameters to spend. Programm-Modul zur Verwendung in einem Sprachansagemodul zur Ausgabe einer Sprachansage, deren Inhalt vom Daten-Inhalt mindestens eines Datensatzes abhängt, dadurch gekennzeichnet, daß das Programm-Modul ein Programmsteuerungssegment, ein erstes Programmsegment und eine Vielzahl zweiter Programmsegmente aufweist, daß das Programmsteuerungssegment zur Steuerung des Zugriffs auf Datenzugriffsmittel und Sprachausgabemittel sowie zur Steuerung des Aufrufs des ersten Programmsegments und eines Programmsegments aus der Vielzahl der zweiten Programmsegmente ausgestaltet ist, daß das erste Programmsegment derart ausgestaltet ist, daß damit ein Ansagetyp und ein diesem Ansagetyp zugeordnetes zweites Programmsegment aus der Vielzahl zweiter Programmsegmente auswählbar ist, und daß jedes der zweiten Programmsegmente aus der Vielzahl zweiter Programmsegmente derart ausgestaltet ist, daß es unter Zuhilfenahme der erforderlichen Parameter, die mittels des Programmsteuerungssegments und der Datenzugriffsmittel aus dem mindestens einen Datensatz ermittelt werden, eine aktuelle Sprachansage formt, und daß es mittels des Programmsteuerungssegments und der Sprachausgabemittel diese Sprachansage zur Ausgabe bringt.Program module for use in a voice announcement module for outputting a voice announcement, the content of which depends on the data content of at least one data record, characterized in that the program module has a program control segment, a first program segment and a plurality of second program segments that the program control segment for control of access to data access means and speech output means and for controlling the call of the first program segment and a program segment from the multiplicity of the second program segments is designed such that the first program segment is configured such that an announcement type and a second program segment assigned to this announcement type from the multiplicity of second program segments is selectable, and that each of the second program segments from the plurality of second program segments is designed in such a way that, with the aid of the required parameters, which are determined by means of the program control segment and the D Data access means are determined from the at least one data record, forms a current voice announcement, and that it uses the program control segment and the voice output means to output this voice announcement. Sprachansagemodul nach Anspruch 2, dadurch gekennzeichnet, daß Editiermittel vorhanden sind, mittels derer bestehende Ansagetypen mit zugehörigen zweiten Programmsegmenten verändert oder gelöscht oder neue Ansagetypen mit zugehörigen zweiten Programmsegmenten erzeugt werden können, und daß Ein- und Ausgabemittel vorhanden sind, über die mit den Editiermitteln kommuniziert werden kann.Voice announcement module according to claim 2, characterized in that there are editing means by means of which existing announcement types with associated second program segments can be changed or deleted or new announcement types can be generated with associated second program segments, and that input and output means are available via which communication with the editing means can be.
    EP01440138A 2000-06-17 2001-05-18 Generation of vocal announcements Withdrawn EP1164575A3 (en)

    Applications Claiming Priority (2)

    Application Number Priority Date Filing Date Title
    DE10029904 2000-06-17
    DE10029904A DE10029904A1 (en) 2000-06-17 2000-06-17 Method and voice announcement module for outputting a voice announcement and program module therefor

    Publications (2)

    Publication Number Publication Date
    EP1164575A2 true EP1164575A2 (en) 2001-12-19
    EP1164575A3 EP1164575A3 (en) 2004-02-11

    Family

    ID=7646104

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    EP01440138A Withdrawn EP1164575A3 (en) 2000-06-17 2001-05-18 Generation of vocal announcements

    Country Status (3)

    Country Link
    US (1) US20020026317A1 (en)
    EP (1) EP1164575A3 (en)
    DE (1) DE10029904A1 (en)

    Cited By (1)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    FR2836260A1 (en) * 2002-02-21 2003-08-22 Sanef Sa Traffic incident announcement radio broadcast system has database of standard items

    Families Citing this family (6)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US20040215461A1 (en) * 2003-04-24 2004-10-28 Visteon Global Technologies, Inc. Text-to-speech system for generating information announcements
    DE102004013855A1 (en) * 2004-03-16 2005-10-13 Deutsche Telekom Ag Method and device for the cost-effective diversion of calls
    US7742833B1 (en) 2006-09-28 2010-06-22 Rockwell Automation Technologies, Inc. Auto discovery of embedded historians in network
    US8181157B2 (en) * 2006-09-29 2012-05-15 Rockwell Automation Technologies, Inc. Custom language support for project documentation and editing
    US7930261B2 (en) * 2007-09-26 2011-04-19 Rockwell Automation Technologies, Inc. Historians embedded in industrial units
    US20090089671A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Programmable controller programming with embedded macro capability

    Citations (5)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US5493606A (en) * 1994-05-31 1996-02-20 Unisys Corporation Multi-lingual prompt management system for a network applications platform
    WO1996018260A1 (en) * 1994-12-09 1996-06-13 Oxford Brookes University Computer apparatus with dialogue-based input system
    US5572625A (en) * 1993-10-22 1996-11-05 Cornell Research Foundation, Inc. Method for generating audio renderings of digitized works having highly technical content
    US5715370A (en) * 1992-11-18 1998-02-03 Canon Information Systems, Inc. Method and apparatus for extracting text from a structured data file and converting the extracted text to speech
    WO1999057714A1 (en) * 1998-05-01 1999-11-11 General Magic, Inc. Voice user interface with personality

    Family Cites Families (4)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    DE69417279T2 (en) * 1993-02-10 1999-10-14 Ibm Method and arrangement for automatically updating telephone answering devices
    US5721827A (en) * 1996-10-02 1998-02-24 James Logan System for electrically distributing personalized information
    AU2655399A (en) * 1998-02-02 1999-09-06 Pulsepoint Communications Dynamically loadable phrase book libraries for spoken language grammars in an interactive system
    AU2789499A (en) * 1998-02-25 1999-09-15 Scansoft, Inc. Generic run-time engine for interfacing between applications and speech engines

    Patent Citations (5)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US5715370A (en) * 1992-11-18 1998-02-03 Canon Information Systems, Inc. Method and apparatus for extracting text from a structured data file and converting the extracted text to speech
    US5572625A (en) * 1993-10-22 1996-11-05 Cornell Research Foundation, Inc. Method for generating audio renderings of digitized works having highly technical content
    US5493606A (en) * 1994-05-31 1996-02-20 Unisys Corporation Multi-lingual prompt management system for a network applications platform
    WO1996018260A1 (en) * 1994-12-09 1996-06-13 Oxford Brookes University Computer apparatus with dialogue-based input system
    WO1999057714A1 (en) * 1998-05-01 1999-11-11 General Magic, Inc. Voice user interface with personality

    Cited By (1)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    FR2836260A1 (en) * 2002-02-21 2003-08-22 Sanef Sa Traffic incident announcement radio broadcast system has database of standard items

    Also Published As

    Publication number Publication date
    EP1164575A3 (en) 2004-02-11
    US20020026317A1 (en) 2002-02-28
    DE10029904A1 (en) 2001-12-20

    Similar Documents

    Publication Publication Date Title
    DE4015905C2 (en) Speech analysis device, method and program
    DE69532883T2 (en) MULTILINGUAL OPERATING AND MAINTENANCE INTERFACE FOR TELECOMMUNICATIONS
    CH663485A5 (en) INFORMATION PROCESSING SYSTEM FOR DOCUMENTS WITH WRITTEN AND SPOKEN INGREDIENTS.
    DE10220521B4 (en) Method and system for processing voice data and classifying calls
    EP1035707A2 (en) Method, generation modul, server, control modul and storing device for creating validation rules
    EP0942613A2 (en) Administration method for subscriber-related telecommunication data including the related server and exchange
    EP1005215B1 (en) Method and system for editing configuration data in telecommunications systems
    EP1164575A2 (en) Generation of vocal announcements
    DE69233622T2 (en) Device for generating announcements
    DE19849855C1 (en) Method for using a computer system to generate a text expression automatically while retaining meaning determines a statistical model on a number of preset pairs of word meanings and associated expressions.
    EP1005216A2 (en) Method and system for the validation of configuration data for telecommunications systems
    DE10220522B4 (en) Method and system for processing voice data using voice recognition and frequency analysis
    EP0788632A1 (en) Computerized conversion of tables
    DE60126948T2 (en) INTERACTIVE DIALOGUE
    WO2009012802A1 (en) System and method for controlling the generation and distribution of publications
    EP1505399A2 (en) Method for Generating Test Data for functional test of data processing circuits
    EP0740257B1 (en) Method for converting operational information in a programmable communication system
    DE102005062512B4 (en) Method for generating and storing words and / or word components in a mobile terminal and mobile terminal
    DE10048069A1 (en) Electronic text transmission device
    EP1240775A2 (en) Communication system and method for establishing an internet connection by means of a telephone
    DE102004059045B4 (en) Method for communication between a management information system and an executing system and communication module
    EP1282295A2 (en) Conversion device and method for acoustical access to a computer network
    DE10220518B4 (en) Speech data processing method e.g. from telephone conversation, by recording variation with time together with text determined by automatic speech recognition system
    DE19624987A1 (en) Automatic spoken language translation method
    DE10105729C1 (en) Functional expansion of telecommunications system involves converting between program codes and languages and converting program code to machine code for storage in program memory

    Legal Events

    Date Code Title Description
    PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

    Free format text: ORIGINAL CODE: 0009012

    AK Designated contracting states

    Kind code of ref document: A2

    Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

    AX Request for extension of the european patent

    Free format text: AL;LT;LV;MK;RO;SI

    PUAL Search report despatched

    Free format text: ORIGINAL CODE: 0009013

    AK Designated contracting states

    Kind code of ref document: A3

    Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

    AX Request for extension of the european patent

    Extension state: AL LT LV MK RO SI

    RIC1 Information provided on ipc code assigned before grant

    Ipc: 7H 04M 3/487 B

    Ipc: 7G 10L 13/02 A

    AKX Designation fees paid

    Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

    STAA Information on the status of an ep patent application or granted ep patent

    Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

    18D Application deemed to be withdrawn

    Effective date: 20040812