Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Hier gibt es news und noch mal news
  • Seite:
  • 1

THEMA:

Aufbau und Funktionsweise der Sprachausgabe 17 Okt 2012 22:54 #1

  • schiwo1
  • schiwo1s Avatar Autor
  • Offline
  • Platinum Boarder
  • Platinum Boarder
  • Beiträge: 490
  • Dank erhalten: 153
In diesem Thread mache ich mal den Versuch, die Funktionsweise der Sprachausgabe zu dokumentieren und zu zeigen, wie man es für non-Jeti Sensoren erweitert am Beispiel des SM-Unilog II. Für das SM GPS funktioniert es genauso.

Bitte 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.
Folgende Benutzer bedankten sich: BOE, J.Grözinger

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von schiwo1.

Aufbau und Funktionsweise der Sprachausgabe 17 Okt 2012 22:55 #2

  • schiwo1
  • schiwo1s Avatar Autor
  • Offline
  • Platinum Boarder
  • Platinum Boarder
  • Beiträge: 490
  • Dank erhalten: 153
2. Wie erfolgt nun die Sprachausgabe?

Wenn 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.

Aufbau und Funktionsweise der Sprachausgabe 17 Okt 2012 22:58 #3

  • schiwo1
  • schiwo1s Avatar Autor
  • Offline
  • Platinum Boarder
  • Platinum Boarder
  • Beiträge: 490
  • Dank erhalten: 153
3. Aufbau der Datei numbers.jsn

Da 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":3,"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!!
Folgende Benutzer bedankten sich: flyhi, J.Grözinger, Tuxx, Sass, wstech

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von schiwo1.

Aufbau und Funktionsweise der Sprachausgabe 18 Okt 2012 09:15 #4

  • Tuxx
  • Tuxxs Avatar
  • Offline
  • Gold Boarder
  • Gold Boarder
  • Beiträge: 246
  • Dank erhalten: 159
Super Beitrag. Danke!

Gruß
Alex

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Aufbau und Funktionsweise der Sprachausgabe 18 Okt 2012 10:21 #5

  • SabineT
  • SabineTs Avatar
  • Offline
  • Platinum Boarder
  • Platinum Boarder
  • Beiträge: 436
  • Dank erhalten: 139
Ich hoffe, Jeti liefert hier mal eine ausführliche Anleitung zu dem Thema!
Danke jedenfalls für deine Übersicht.

lg, Sabine

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Aufbau und Funktionsweise der Sprachausgabe 20 Okt 2012 04:50 #6

  • Sass
  • Sasss Avatar
  • Offline
  • Senior Boarder
  • Senior Boarder
  • Beiträge: 74
  • Dank erhalten: 4
Super. Vielen Dank. Habe auch einen SM Unilog 2 und habe die Spachausgaben für en und de entsprechend umgesetzt.
Interessant 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.

  • Seite:
  • 1
Ladezeit der Seite: 0.234 Sekunden
Powered by Kunena Forum