Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
z9001:module_robotron:spracheingabe [2014/05/06 06:54] – Seite verschoben von z9001:module_sonstige:spracheingabe nach z9001:module_robotron:spracheingabe volkerp | z9001:module_robotron:spracheingabe [2022/09/21 15:03] (aktuell) – [Literatur] volkerp | ||
---|---|---|---|
Zeile 35: | Zeile 35: | ||
Von Dr. Kordon habe ich Unterlagen zum Modul erhalten, unter anderem Listing-Ausdrucke des Softwarekerns für das K1520-System K7821. Damit war es möglich, für die Z9001-Software SPRACHE1/ | Von Dr. Kordon habe ich Unterlagen zum Modul erhalten, unter anderem Listing-Ausdrucke des Softwarekerns für das K1520-System K7821. Damit war es möglich, für die Z9001-Software SPRACHE1/ | ||
+ | |||
+ | In der TU wurde ein leicht abweichendes Modul benutzt (ohne LED), aber mit gleichen Portadressen etc. | ||
+ | |||
+ | KC-Modul TU ohne LED, CTC 0e0h..0e3h\\ | ||
+ | KC-Modul MKD mit LED Port 0E4h ein, 0E8h aus , CTC 0e0h..0e3h | ||
===== Literatur ===== | ===== Literatur ===== | ||
Zeile 43: | Zeile 48: | ||
* Dr.-lng. Lothar Seveke und Dr.-Ing. Ulrich Kordon: Spracherkenner-Zusatzmodul für U880-Mikrorechner, | * Dr.-lng. Lothar Seveke und Dr.-Ing. Ulrich Kordon: Spracherkenner-Zusatzmodul für U880-Mikrorechner, | ||
- | Beim KC-Klub-Treffen 2008 habe ich einen {{z9001: | + | Beim KC-Klub-Treffen 2008 habe ich einen {{z9001: |
+ | 2016 gab es noch einen Vortrag zum Thema beim VCFB: https:// | ||
===== Software ===== | ===== Software ===== | ||
Zeile 53: | Zeile 59: | ||
**Es ist faszinierend und einen tiefen Blick in die {{z9001: | **Es ist faszinierend und einen tiefen Blick in die {{z9001: | ||
- | Die Hardware besteht aus einem Verstärker für das Mikrofonsignal und je einem Hoch- und Tiefpass | + | Die Hardware besteht aus einem Verstärker für das Mikrofonsignal und je einem Tief- und Hochpass |
Für ein gewisses Zeitfenster werden die Abstände der Nulldurchgänge ermittelt und anschließend klassifiziert. Die Routine NDG werten diese Abstände als Intervallklasse aus. Die Interrupt-Routine des Zeitfensters CTC 1 sammelt die Intervallklassen von Hochpass und Tiefpass in 8 Byte zusammen. | Für ein gewisses Zeitfenster werden die Abstände der Nulldurchgänge ermittelt und anschließend klassifiziert. Die Routine NDG werten diese Abstände als Intervallklasse aus. Die Interrupt-Routine des Zeitfensters CTC 1 sammelt die Intervallklassen von Hochpass und Tiefpass in 8 Byte zusammen. | ||
- | Die Pausendetektion (PAUSE) sucht Wortanfang und -Ende, der 8-Byte-Vektor wird 1-bit-quantisiert (Schwellwert SWHL), die 8 Bit werden in den Signalspeicher XFELD hinzugefügt. Durch eine zeitliche Normierung wird der Signalspeicher� durch die Routine ZEIN zu einem 16 Byte-Feld YFELD normiert (ähnlich Bild stauchen/ | + | Die Pausendetektion (PAUSE) sucht Wortanfang und -Ende, der 8-Byte-Vektor wird 1-bit-quantisiert (Schwellwert SWHL), die 8 Bit werden in den Signalspeicher XFELD hinzugefügt. Durch eine zeitliche Normierung wird der Signalspeicher durch die Routine ZEIN zu einem 16 Byte-Feld YFELD normiert (ähnlich Bild stauchen/ |
Weitere Routinen sortieren diese Datensätze in Wortklassen ein (mehrere Refrenzmuster pro Wort). Das erfolgt mit den Routinen VGLEI (minimale Hamming-Distanz berechnen), KNORM (Clusterbewertung normieren), CLST (Cluster streichen), CLUST (Clusterbildung). Der Vergleich mit vorher ermittelten Referenzmustern erfolgt als bitweiser Vergleich mit bereits gespeicherten Referenzmustern (Hammingdistanz = Anzahl der verschiedenen Bits), das Referenzmuster mit geringster Distanz ist das erkannte Wort. Ist die Distanz zu groß, wird das Wort abgewiesen. Andere Routinen dienen zur Einteilung von Wortklassen von Referenzmustern, | Weitere Routinen sortieren diese Datensätze in Wortklassen ein (mehrere Refrenzmuster pro Wort). Das erfolgt mit den Routinen VGLEI (minimale Hamming-Distanz berechnen), KNORM (Clusterbewertung normieren), CLST (Cluster streichen), CLUST (Clusterbildung). Der Vergleich mit vorher ermittelten Referenzmustern erfolgt als bitweiser Vergleich mit bereits gespeicherten Referenzmustern (Hammingdistanz = Anzahl der verschiedenen Bits), das Referenzmuster mit geringster Distanz ist das erkannte Wort. Ist die Distanz zu groß, wird das Wort abgewiesen. Andere Routinen dienen zur Einteilung von Wortklassen von Referenzmustern, | ||
Zeile 84: | Zeile 90: | ||
U. Kordon: //" | U. Kordon: //" | ||
- | ===== Bemerkung | + | ===== Bemerkungen |
+ | |||
+ | Vor allem männliche (tiefe) Stimmen reizen den Zählumfang bis 255 oftmals aus, so dass Worte nur schwer zu unterscheiden sind (Die 16-Byte-Datensätze sehen alle aus wie F8FFFFFEF5F8FEFF...). Bei höheren Stimmlagen (Frauen, Kindern) ergeben sich normale Muster und damit eine wesentlich bessere Worterkennung. | ||
+ | |||
+ | Eine entscheidende Rolle spielt dabei auch das Mikrofon! Mit dem regelbaren Widerstand auf der Platine kann die Empfindlichkeit des Mikrofons angepasst werden. | ||
- | Die originale Sprachsoftware wurde für ein 2MHz-U880-System geschrieben. Durch den höheren Takt des Z9001 verändern | + | Zur Arbeit mit dem Sprachprogramm ist es sinnvoll, |
**Vielen Dank an Dr. Kordon und Dr. Seveke für die freundliche Zuarbeit und die Überlassung der Unterlagen!** | **Vielen Dank an Dr. Kordon und Dr. Seveke für die freundliche Zuarbeit und die Überlassung der Unterlagen!** | ||