Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
z9001:module_robotron:spracheingabe [2016/06/09 13:56] – [Entwicklung] volkerpz9001:module_robotron:spracheingabe [2022/09/21 15:03] (aktuell) – [Literatur] volkerp
Zeile 48: Zeile 48:
   * Dr.-lng. Lothar Seveke und Dr.-Ing. Ulrich Kordon: Spracherkenner-Zusatzmodul für U880-Mikrorechner, rfe 11/1987, S. 728-731   * Dr.-lng. Lothar Seveke und Dr.-Ing. Ulrich Kordon: Spracherkenner-Zusatzmodul für U880-Mikrorechner, rfe 11/1987, S. 728-731
  
-Beim KC-Klub-Treffen 2008 habe ich einen {{z9001:spracherkennung.pdf|Vortrag}} über die Spracheingabe gehalten und vor allem die {{z9001:sprachmodul.zip|Software}} vorgestellt. Im Archiv gibt es die Anleitung, die komplette Softwarebeschreibung sowie den rekonstruierten Assembler-Quelltext und die Version **sprache1hx**, die das normierte Histogramm YFELD (s.u.) zu Demostrationszwecken anzeigt.+Beim KC-Klub-Treffen 2008 habe ich einen {{z9001:spracherkennung.pdf|Vortrag}} über die Spracheingabe gehalten und vor allem die {{z9001:sprachmodul.zip|Software}} vorgestellt. Im Archiv gibt es die Anleitung, die komplette Softwarebeschreibung sowie den rekonstruierten Assembler-Quelltext und die Version **sprache1hx**, die das normierte Histogramm YFELD (s.u.) zu Demonstrationszwecken anzeigt.
  
 +2016 gab es noch einen Vortrag zum Thema beim VCFB: https://media.ccc.de/c/vcfb2016 
 ===== Software ===== ===== Software =====
  
Zeile 58: Zeile 59:
 **Es ist faszinierend und einen tiefen Blick in die {{z9001:sprachmodul.zip|Beschreibung und den Quellcode}} wert, wie eine so umfangreiche Aufgabe wie die Spracherkennung mit einem 2 MHz-Z80 und nur 2 KByte Software gelöst werden kann!** **Es ist faszinierend und einen tiefen Blick in die {{z9001:sprachmodul.zip|Beschreibung und den Quellcode}} wert, wie eine so umfangreiche Aufgabe wie die Spracherkennung mit einem 2 MHz-Z80 und nur 2 KByte Software gelöst werden kann!**
  
-Die Hardware besteht aus einem Verstärker für das Mikrofonsignal und je einem Hoch- und Tiefpass (Trennfrequenz ca. 1 kHz), die auf die Triggereingänge einer CTC gehen. CTC-Kanal 0 und 3 arbeiten als Zähler mit Zählwert 1 und werfen beim Nulldurchgang von Tief- und Hochpass einen Interrupt (Programmteile TP-NDG, HP-NDG), der CTC-Kanal 1 arbeitet als Zeitgeber (Analyse- Zeitfenster), durch Abfrage des Zählwerts erhält man die Position innerhalb des Zeitfensters.+Die Hardware besteht aus einem Verstärker für das Mikrofonsignal und je einem Tief- und Hochpass (Trennfrequenz ca. 1 kHz), die auf die Triggereingänge einer CTC gehen. CTC-Kanal 0 und 3 arbeiten als Zähler mit Zählwert 1 und werfen beim Nulldurchgang von Tief- und Hochpass einen Interrupt (Programmteile TP-NDG, HP-NDG), der CTC-Kanal 1 arbeitet als Zeitgeber (Analyse- Zeitfenster), durch Abfrage des Zählwerts erhält man die Position innerhalb des Zeitfensters.
  
 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.
Zeile 89: Zeile 90:
 U. Kordon: //"Übrigens haben sich auch noch Unterlagen für einen geplanten Sprachausgabemodul zum Z9001 auf der Basis des damaligen Valvo-Schaltkreises MEA8000 (4-Formant-Synthetisator) angefunden. Der Sprachausgabemodul ist bis zum Funktionsmuster entwickelt worden, der dann mit "einheimischen Rohstoffen", d. h. mit einem Ersatz des Importschaltkreises, realisiert werden sollte. Das haben wir übrigens auch geschafft, allerdings schrieb man da inzwischen das Jahr 1989 ... (ohne nostalgische Anwandlungen, einfach als Fakt)."// U. Kordon: //"Übrigens haben sich auch noch Unterlagen für einen geplanten Sprachausgabemodul zum Z9001 auf der Basis des damaligen Valvo-Schaltkreises MEA8000 (4-Formant-Synthetisator) angefunden. Der Sprachausgabemodul ist bis zum Funktionsmuster entwickelt worden, der dann mit "einheimischen Rohstoffen", d. h. mit einem Ersatz des Importschaltkreises, realisiert werden sollte. Das haben wir übrigens auch geschafft, allerdings schrieb man da inzwischen das Jahr 1989 ... (ohne nostalgische Anwandlungen, einfach als Fakt)."//
  
-===== Bemerkung =====+===== Bemerkungen =====
  
-Die originale Sprachsoftware wurde für ein 2MHz-U880-System geschrieben. Durch den höheren Takt des Z9001 verändern sich die Zeitfenster (s. Assemblerquelltext), so dass vor allem männliche (tiefe) Stimmen den Zählumfang bis 255 oftmals ausreizen und 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.+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. 
 + 
 +Zur Arbeit mit dem Sprachprogramm ist es sinnvoll, sich eine Wortliste bereitzulegen, die die Klassennummern 1..50(200) und die Wörter enthält. Das Sprachprogramm arbeitet nur mit den Klassennummern und nicht mit Klartexten!
  
 **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!**
  
  • z9001/module_robotron/spracheingabe.1465480562.txt.gz
  • Zuletzt geändert: 2016/06/09 13:56
  • von volkerp