Bitte ändert euer Passwort!
Im März 2026 wurde das Forum gehackt. Dabei hatten die Angreifer Zugriff auf die Datenbank und somit Zugriff auf eure Passwörter. Auch wenn das Forum kein Passwort im Klartext speichert, können die Angreifer eure Passwörter knacken. Bitte ändert daher dringend euer Passwort für das Forum. Solltet ihr das gleiche Passwort auch an anderer Stelle verwenden, ändert es bitte unbedingt an allen Stellen!
Aufbau und Funktionsweise der Sprachausgabe
- schiwo1
-
Autor
- Offline
- Platinum Mitglied
-
- Beiträge: 490
- Thanks: 154
Aufbau und Funktionsweise der Sprachausgabe
17 Okt. 2012 20:54 - 17 Okt. 2012 21:03Bitte um Ergänzung bzw Korrektur falls ich was übersehen haben sollte.
1. Übertragung der Telemetriewerte eines EX-Sensors:
Das Header-Protokoll in Verbindung mit einem Jeti Rx (Logging der Empfängerspannung) und dem Unilog II sieht wie folgt aus:
# C-ARF Spark
000000000;4259321909;0;Rx;
000000000;4259321909;1;U Rx;V
000000000;4172814866;0;UniLog 2;na
000000000;4172814866;1;Spannung;V
000000000;4172814866;2;Strom;A
000000000;4172814866;3;Kapazitaet;mAh
000000000;4172814866;4;RXSpannung;V
000000000;4172814866;5;Hoehe;m
000000000;4172814866;6;Steigen;m/s
000000000;4172814866;7;Drehzahl;rpm
000000000;4172814866;8;Energie;Wmi
000000000;4172814866;9;Leistung;W
000000000;4172814866;10;Luftdruck;hPa
000000000;4172814866;11;Impuls ein;us
000000000;4172814866;12;Impuls aus;us
000000000;4172814866;13;Zelle min;V
000000000;4172814866;14;Zelle min#;
000000000;4172814866;15;A1: 450kph;kph
000000000;4172814866;16;A2: Temp.;°C
000000000;4172814866;17;A3: Temp.;°C
000000000;4172814866;18;Temp. int.;°C
Der erste Wert ist der Zeitstempel. Der zweite Wert die eindeutige Sensor ID. Der Dritte Wert kennzeichnet mit „0“ den Sensor Namen, und die fortlaufenden Nummern 1-n die einzelnen Parameter die von diesem Sensor erfasst werden. Der vierte Wert einer Zeile ist die Parameterbezeichnung, und der fünfte und letzte Parameter enthält die Maßeinheit.
Bei der Ausgabe der EX Telemetrie im Display werden diese Parameterbezeichnungen und Einheiten im Display ausgegeben. Es wird daher offensichtlich, dass die DC16 keine Umrechnung von Werten im Sender macht.
Der Header wird gefolgt von den einzelnen Messdatensätzen. Schauen wir uns den Datensatz für den Parameter 16 des Unilogs, der Temperatur des Sensors am Eingang A2 des Unilogs, zu einem zufällig ausgewählten Zeitpunkt (Umrechnung siehe Beschreibung des EX Protokolls) an:
000089876;4172814866;16;1;1;209
Gemaess der Protokolldefinition (siehe siehe Beschreibung des EX Protokolls auf der Jeti Homepage) beträgt der Wert 20,9 Grad Celsius.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- schiwo1
-
Autor
- Offline
- Platinum Mitglied
-
- Beiträge: 490
- Thanks: 154
Re: Aufbau und Funktionsweise der Sprachausgabe
17 Okt. 2012 20:55Wenn ich den Trigger (per Taster oder periodischer Ansage) für diesen Parameter „A2: Temp.“setze, passiert folgendes:
Als erstes schaut die DC16 in das Verzeichnis voice/de ob dort ein wav-file mit dem Namen „A2 Temp.“ existiert. Wenn ja, wird diese Datei abgespielt. Warum das so ist und nicht immer erst die Datei numbers.jsn ausgewertet wird weiss ich nicht. Da es aber ausreicht, eine Datei mit dem exakten Parameternamen dort einzustellen wird es wohl so sein. Auf jeden Fall wird, falls dort keine Datei mit diesem Namen vorhanden ist, die Datei „numbers.jsn interpretiert.
In diesem Fall wuerde die direkte Ablage einer Datei mit dem Namen „A2 Temp.“ Nicht funktionieren, da SM im Parameternamen einen „.“ verwendet, der im Filesystem als Character in einem Dateinamen nicht zulässig ist.
Hier kommt nun die Dateien „numbers.jsn“ im Verzeichnis voice/de zum tragen.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- schiwo1
-
Autor
- Offline
- Platinum Mitglied
-
- Beiträge: 490
- Thanks: 154
Re: Aufbau und Funktionsweise der Sprachausgabe
17 Okt. 2012 20:58 - 17 Okt. 2012 21:02Da es hierzu keine offizielle Doku gibt, ist es durchaus möglich dass meine Interpretation unvollständig ist. Bitte daher ergänzen.
Diese Datei ist das „Herz“ der Jeti Sprachausgabe. Die DC16 hat keinen hardware- oder software-basierten Sprachsynthesizer. Alle Ansagen basieren auf wav-files, die zu der gewünschten Ansage zur Laufzeit von der Software zusammengestellt werden.
Beispiel: die Zahl 121,5 wird aus den Sprachfiles:
„einhund.wav“
„ein.wav“,
„zwanzig.wav“,
„komma.wav“,
„fuenf.wav“
Generiert.
Es werden vier Typen von Sprach-Deklarationen unterschieden:
„Type“:0: in dieser Zeile wird die Zuordnung der Sprachfiles für Minus, Komma, Pause, Tausend definiert. „Type“ 1: hier werden die Zuordnungen der Sprachfiles für die Ansage von Werten gemacht. Alle Parameter hier hab ich noch nicht verstanden, ich denke mal dass es wie oben beschrieben grob funktioniert. Hier bitte nix editieren.
Für unsere non-Jeti Sensoren wird es ab „Type“:2 relevant.
Hier erfolgt zunächst die Zuordnung des Sprachfiles für die Parameterbezeichnung zu einer Sprachdatei:
Beispiel für den Jeti Speedsensor:
{"Type":2,"Label":"Velocity","File":"Geschwin.wav"},
Hmm, bei SM wird aber als Bezeichnung "A1: 450kph" übertragen. Also muss ich hier einfach nur folgende Zeile in die Datei einfügen, damit die DC16 gefälligst „Geschwindigkeit:“ bei der Ansage der Airspeed des Unilogs spricht:
{"Type":2,"Label":"A1: 450kph","File":"Geschwin.wav"},
Fertig! …… Fast
Was noch fehlt, ist die korrekte Ansage der Einheit, beim SM Speedsensor „Kilometer pro Stunde“
Dazu dient „Type“: 3 in dem file. Hier wird der Sprachfile für die übertragene Einheit des Werts zugeordnet.
Da SM hier „kph“ definiert, hat, erfolgt standardmaessig keine Ansage der Einheit, da Jeti nur Zuordnungen für meter/sec und kmh und die entsprechenden Sprachfiles liefert.
Also muss ich hier eine Zeile einfügen die lautet:
{"Type"
,"From":0,"To":2000000000,"File":"kmh.wav","Opt":"VF","Unit":"kph","Gender":"100"},FERTIG
Was die sonstigen Parameter in dieser Zeile bedeuten, kann ich im Moment noch nur spekulieren.
My take:
- Der Wertebereich From – To definiert für welchen Bereich die Einheit angesagt wird. Mit 0 -200000000000 ist real alles von Null bis praktisch Lichtgeschwindigkeit einbezogen. Ich kann also für unterschiedliche Wertebereiche verschiedene Ansagen definieren. Ich vermute mal da ist gemacht, um die Eigenheiten der Sprachen zu berücksichtigen, wie zB eine „Wattminute“ vs 2345 „Wattminuten“
Der Parameter „Opt“ kann ich im Moment nicht erklären, ich vermute mal dies hat was mit Ganzzahligen Werten vs Kommazahlen zu tun. „Gender“ kennzeichnet wahrscheinlich die Stimme (Männlich/weiblich) (meine Spekulation)
Fazit: genial gemacht, da steckt wahrscheinlich noch mehr drin, als ich bisher „entschluesselt“ habe. Alles in allem extrem erweiterbar und konfigurierbar für alles was EX spricht und flexibel übersetzbar in andere Sprachen!!
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Tuxx
- Offline
- Elite Mitglied
-
- Beiträge: 246
- Thanks: 159
Re: Aufbau und Funktionsweise der Sprachausgabe
18 Okt. 2012 07:15Gruß
Alex
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- SabineT
-
- Offline
- Platinum Mitglied
-
- Beiträge: 436
- Thanks: 140
Re: Aufbau und Funktionsweise der Sprachausgabe
18 Okt. 2012 08:21Danke jedenfalls für deine Übersicht.
lg, Sabine
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Sass
- Offline
- Senior Mitglied
-
- Beiträge: 74
- Thanks: 4
Re: Aufbau und Funktionsweise der Sprachausgabe
20 Okt. 2012 02:50Interessant ist, dass in der de Version viele Attribute des Unilog schon umgesetzt waren, die es in der en Version nicht gab.
Leider habe ich keine wav Datei für Energie gefunden. Das macht aber nichts.
Genial!
Viele Grüße
Sass
Bitte Anmelden oder Registrieren um der Konversation beizutreten.