Technische Dokumentation – Version 1.0
\t
für tabulator
und \n
für newline
) wurde an den betreffenden Stellen in
der XML-Datei ein nullbreites Leerzeichen eingefügt, um die Verarbeitung des
Kommandos zu verhindern. Dies trifft insbesondere auf einige LATEX-Sequenzen
und einige Kürzel der Praat-Notation zu. Das nullbreite Leerzeichen (​
)
ist in der Ausgabe nicht sichtbar. Es macht sich durch einen zusätzlichen
„Leerschritt“ bemerkbar, wenn der Cursor im Eingabefeld über eines der
betroffenen Zeichen bewegt wird.
Bei der Transformation der XML-Datei durch XSLT werden Unicode-Entities direkt
übersetzt. Da aus diesem Grund nicht auf die Entity-Referenz zugegriffen werden kann, sind
die vierstelligen Kodes in einem weiteren Knoten des Laut-Elements hinterlegt. Für die
Ausgabe des vollständigen Unicode-Kodes werden diese Referenzen (z.B. 0294
) in
einem der Templates weiterverarbeitet und in die richtige Form (z.B. ʔ
)
überführt.
Der Hinweis beim Versuch nicht existierende oder defekte Audiofiles abzuspielen wird durch
einen simplen JavaScript alert
ausgegeben. Um zu verhindern, dass der Nutzer bei jedem
„Fehlversuch“ den Hinweis mit einem Klick auf den Ok-Button bestätigen muss, ist eine
unaufdringlichere Lösung (z.B. in Form eines timergesteuerten Hinweisfeldes mit alertify.js
etc.) wünschenswert.
Die Audiodateien in XIPA sind nach der im entity
-Tag hinterlegten vierstelligen
hexadezimalen Unicode-Referenz des Zeichens benannt (z.B. 0294.wav
für den Glottal Stop).
Diese Dateinamenskonvention wurde gewählt, um eine robuste, betriebssystemübergreifende
Verarbeitung der Dateien zu ermöglichen.
Theoretisch sind Dateinamen möglich, die dem Unicode-Zeichen entsprechen (z.B. ʔ.wav). Diese Lösung ist jedoch fragil. Sie führt zu Fehlern, insbesondere dann, wenn Dateien zwischen unterschiedlich formatierten Datenträgern kopiert werden sollen oder auf unterschiedlichen Plattformen genutzt werden.
Der Audio-Context
der Web-Audio-API wird direkt zu Beginn des onclickSwitcher
Skripts aufgerufen und ist damit für die gesamte Nutzungsdauer des Tools aktiv. In einigen
Browsern kann dies zu einer erhöhten Last führen und bei Mobilgeräten zu einer verkürzten
Akkulaufzeit führen. Dies trifft auch zu, wenn die Transkriptionsumgebung im Hintergrund
ausgeführt wird.
Die Einbindung am Anfang des Skripts war notwendig, da die Web-Audio-API in
verschiedenen Browsern unterschiedlich implementiert ist. Die eigentlich korrekte
Vorgehensweise – das Öffnen und Schließen des Audio-Kontexts bei An- und Abwählen des
Play Sound
-Schalters – führte bei einigen Browsern (z.B. Mozilla Firefox) zu einer
Fehlermeldung nach dem Abspielen von mehr als 6 Lauten, da der Audio-Kontext nicht –
wie erwartet – geschlossen wurde.
Es ist zu erwarten, dass nachfolgende Browser-Versionen die API besser einbetten. Da es sich bei der API um einen Entwurf des W3C handelt, bleiben zukünftige Entwicklungen abzuwarten. Sobald ein Öffnen und Schließen des Audio-Kontexts im Skript browserübergreifend funktioniert, sollte diese Funktion entsprechend abgeändert werden.
In einigen Browsern bleiben eingegebene Transkriptionen auch bei einem erneuten Laden der
Seite erhalten. Um diese Funktion browserübergreifend verfügbar zu machen und einen
Verlust von Transkriptionen bei Computerabstürzen etc. zu verhindern, kann entweder ein
Cookie beim Nutzer gespeichert werden, das die Inhalte der zuletzt eingegebenen Zeichen im
Textfeld enthält. Alternativ ist eine Umsetzung mit HTML5 localStorage
ebenfalls
denkbar.