Translation - Sprache und Text übersetzen
"Microsoft Translation" ist eine interessante Technik um Kommunikation zwischen Menschen zu ermöglichen, die sich ansonsten aufgrund von Sprachbarrieren sonst nicht unterhalten können. Outlook, Skype, Skype for Business und Teams sind effektive Kommunikationsmittel, die Menschen nutzen. Diese Seite liefert Links und eine Beschreibung für maschinengestützte Übersetzungen im Umfeld von UC.
Was geht heute schon?
Die Besatzung von Raumschiff Enterprise hat schon immer einen ganz besonderen "Communicator", der in Windeseile die Sprache von fremden Rassen analysieren und übersetzen kann. Soweit sind wir noch nicht aber auch auf der Erde gibt es sehr viele Sprachen und auch wenn Englisch, Französisch, Spanisch und Deutsch wohl aufgrund der Kolonialzeit weit verbreitet sind und Chinesisch und Indisch natürlich nicht vergessen werden darf, wird es immer Menschen geben, die sich schwer tun. Da wäre eine Übersetzung immer noch besser als gar keine Kommunikation und wenn die Endstellen eh schon "Computer" sind (Mail und VoIP), dann sollte es doch möglich sein.
Und tatsächlich gibt es u.a. von Microsoft schon nutzbare Lösungen, wenn man nur mal genauer hinschaut.
- Skype Consumer
Hier ist Microsoft schon am weitesten. Wohl auch um Erfahrungen zu sammeln, konnten Skype Anwender schon länger ihre Instant Messages übersetzen lassen und mittlerweile sollte das sogar mit Sprache sehr zeitnah funktoinieren. Hier ein paar Links- Videos
https://www.microsoft.com/en-us/research/group/machine-translation-group/
Schon beeindruckend aber man sieht hier auch eine „Verzögerung“. - Skype Translator“
https://www.skype.com/de/features/skype-translator/
Dies ist ein Modul für „Skype Consumer“ (also nicht Skype for Business) welches on the fly sowohl Chatmessages als auch Sprache (Audio) übersetzt.
Microsoft stellt das allen Skype Anwendern zu Verfügung. Sprache wird dabei als Untertitel eingeblendet
https://support.skype.com/de/faq/FA34542/wie-einrichten-und-verwenden-sie-skype-translator?q=translator
- Videos
https://www.microsoft.com/en-us/research/group/machine-translation-group/
- Skype for Business
Audio ist hier (noch) nicht möglich aber mit dem Translator können sie schon seit Lync 2010 beim Chatten die Sprache wechseln.- Conversation Translator
Add-In for Microsoft Lync
2010
https://www.microsoft.com/en-us/download/details.aspx?id=26136
Es handelt sich dabei um ein „ClientAdd-on“, welches mit ein paar manuelle Einträgen in der Registrierung wohl auch auf Lync 2013 und Skype for Business Client funktioniert. - Conversation Translator
Add-In for Skype for
Business 2015 Client
https://social.technet.microsoft.com/Forums/ie/en-US/86493291-0676-4b04-91a4-bb9821ce183b/conversation-translator-addin-for-skype-for-business-2015-client?forum=sfbfr
- Conversation Translator
Add-In for Microsoft Lync
2010
- Skype Meeting Broadcast
Für ganz große Meetings gibt es die "Online Only"-Version mit einem Vortragenden und mehreren tausend Teilnehmern. Hier ist es schon interessant, wenn die Sprache des Sprechers erkannt und für die Zielsprache jedes Teilnehmers übersetzt als Untertitel eingeblendet iwrd.- Enable real-time
transcription and
translation in Skype Meeting
Broadcast
https://support.office.com/en-ie/article/Enable-real-time-transcription-and-translation-in-Skype-Meeting-Broadcast-266efc46-325a-409d-8879-65c3123401dd - Skype for Business will
live translate meetings into
40 languages
https://www.pcworld.com/article/3094234/unified-communications/skype-for-business-will-translate-meetings-into-40-languages.html
- Enable real-time
transcription and
translation in Skype Meeting
Broadcast
- PowerPoint Translator
Die gleiche Funktion gibt es mittlerweile wohl auch direkt für PowerPoint- Presentation Translator
- A Microsoft Garage
Experimental Project
https://www.microsoft.com/en-us/download/details.aspx?id=55024
- Presentation Translator
- A Microsoft Garage
Experimental Project
- Weitere Apps
Die API gibt es und erste Apps sind auf https://translator.microsoft.com/apps/ verfügbar.
Das sind aus meiner Sicht die ersten Vorboten einer interessanten Technik um die Kommunikation über Sprachbarrieren hinweg zu vereinfachen.
Wo ist die API ?
Die Microsoft Translator API ist aktuell keine Software, die Sie lokal installieren können, sondern eine REST-API in der Cloud. Das macht es für den Hersteller speziell in der Anfangszeit sehr einfach die Algorithmen dahinter laufend anzupassen und zu verbessern.
- Microsoft Translator brings end-to-end
speech translation to everyone with the
world’s first Speech Translation API
https://blogs.msdn.microsoft.com/translation/2016/03/30/microsoft-translator-brings-end-to-end-speech-translation-to-everyone-with-the-worlds-first-speech-translation-api/ - Machine Translation Group
https://www.microsoft.com/en-us/research/group/machine-translation-group/ - Microsoft Translator business solution
https://www.microsoft.com/en-us/translator/home.aspx
Nun ist Microsoft ja nicht stehen geblieben und da ClientAPI-Erweiterungen auf Mobilgeräten z.B.: nicht funktionieren, wäre eine Funktion auf dem Server ja wünschenswert und die APIs gibt es ja
- Microsoft Translator Text API
https://www.microsoft.com/en-us/translator/translatorapi.aspx - Microsoft Translator Speech API
https://www.microsoft.com/en-us/translator/speech.aspx
Die Speech-API erwartet Audio „Stücke“ zum Übersetzen in Text per WebSocket und liefert die digitalisierte Info zurück. Damit können Sie also schon einmal Sprache in Text übersetzen. Dann fehlt nur noch ein Text zu Text-Umsetzer zwischen den Sprachen und am Ende eine Text2Speech Lösung. Die Konvertierung von Text in eine halbwegs natürlich Sprache würde ich aber als weitestgehend "gelöst" ansehen, wenn Sie Siri, Cortana, Alexa und Google anschauen. Selbst ein Windows PC bringt schon "Vorlese-Funktionen" mit und das SpeechAPI von Microsoft ist schon viele Jahre alt.
Insofern ist es nur eine Frage der Zeit, bis es weitere Anwendungen gibt, diese diese Technologien aus der Cloud nutzen.
- Non-technical walkthrough for anyone –
Make your next presentation AWESOME with
real-time subtitles and translation
https://blog.thoughtstuff.co.uk/2017/07/non-technical-walkthrough-for-anyone-make-your-next-presentation-awesome-with-real-time-subtitles-and-translation/ - Der gleiche Autor (Tom Morgan) hat sich
dann mal überlegt, wie er per UCMA auf dem
Skype for Business Server diese Funktion
einbauen kann und dazu einen Code
veröffentlicht um die Funktion zu
demonstrieren
https://blog.thoughtstuff.co.uk/2017/08/building-a-speech-transcription-and-translation-bot-in-skype-for-business-using-ucma-and-microsoft-translator-api/ - Der Code ist auf GitHub
https://GitHub.com/tomorgan/UCMASpeechRecognitionTranslation
In diesem Beispiel nutzt Tim Morgan die UCMA-Schnittstelle, um den Ton in eine WMA-Datei zu schreiben. Das kann UCMA sehr problemlos direkt machen. UCMA sperrt die Datei aber nicht und so kann ein zweiter Prozess die gleiche Datei gleich wieder hinterher lesen und die Daten an das Translator API senden. Das ist natürlich nur eine Beispielapplikation, die experimentell einen Eindruck vermitteln kann, was heute schon möglich ist. In einem kommerziellen Produkt wird man den Umweg über das Dateisystem natürlich eliminieren.
Über die Schnittstelle zum Translator Text API können Sie auch ein Modul in einen beliebigen Client einbauen, der Text von einer Sprache in die andere Sprache übersetzt.
Integration in Applikationen
Da gibt es so eine schöne API, die in der Cloud läuft und natürlich fangen nun bei dem ein oder anderen die Überlegungen, wie man das eigene Produkt damit verbessern kann. Wenn Sie zuerst einmal nur mit Texten hantieren, dann sind die üblichen APIs relativ schnell und einfach angesprochen. Texte liegen ja schon digital vor. Kniffliger wird es natürlich mit dem Thema "Sprache" und Töne. Die Speech2Text-API (Microsoft Translator Speech API, https://www.microsoft.com/en-us/translator/speech.aspx) erwartet einen "MediaStream" in entsprechenden Häppchen. Für einen Test reicht da eine Audio-Datei aber im echten Leben müssen Sie mit ihrer Software natürlich an den Audio-Datenstrom heran, was die Sache in mehrfacher Hinsicht anspruchsvoll macht:
- Audio ist in der Regel Peer2Peer und
SRTP verschlüsselt
Zumindest in der Skype for Business-Welt versucht der Client zuerst eine direkte Verbindung zur Gegenstelle herzustellen oder notfalls über einen TURN-Server zu gehen. Die Audiodaten kommen also sicher nicht immer an der gleichen Stelle vorbei oder laufen über den Registrar. Das ist nur bei einer Konferenz der Fall, wenn alle Teilnehmer ihre RTP-Kommunikation mit der Konferenz-MCU aufbauen. Aber selbst dann ist es auf dem Kabel schwer etwas zu hören, wenn Skype for Business nutzt SRTP zum Verschlüsseln und auch die Vielzahl an Codecs und Optionen macht es sehr aufwändig hier anzugreifen.
Wenn man also nicht in den ICE-Handshake eingreifen will, um Audio über ein eigenes Relay zu leiten und SRTP und Codecs zu beeinflussen, dann bleibt nur die Integration auf einem der Endpunkte. Auf einem Windows Desktop ist dies sicher einfacherer über z.B.: die Lync-COMAPI als auf einem Mobilclient oder gar Browser mit WebRTC - Latenzzeit muss „kurz“ sein.
Der „Übersetzer“ kann also nicht den Satz abwarten, sondern muss möglichst früh schon mit der Übersetzung „anfangen“. Allerdings ist das in mehrfacher Hinsicht eine Herausforderung, da Unterschiedliche Sprachen einen abweichenden Satzaufbau haben und daher etwas gewartet werden muss. Da die API zudem aktuell nur "in der Cloud" bereit gestellt wird, müssen die RTP-Daten auch noch den Weg zum Service nehmen, ehe diese dort dann als Text und übersetzt wieder zurück kommen.
Ich bin sicher, dass die Lösungen und Techniken permanent besser werden aber bis es zu einem echten Simultandolmetscher ist der Weg noch steinig und weit. Bedenken Sie aber, dass dies in vielen Fällen aber nicht wirklich erforderlich ist. Allein eine "Textübersetzung" für Chats ist schon ein großer Gewinn und wenn Teilnehmer einer 1:! Kommunikation eben einige Sekunden auf die Übersetzung warten, dann kann man das vielleicht dennoch tolerieren. Zumindest wenn ansonsten gar keine Kommunikation möglich wäre. Für 1:N-Szenarien mit einer präsentierenden Person, deren Sprache dann als Untertitel in den verschiedenen Landessprachen etwas verzögert eingeblendet werden, ist diese Lösung auf jeden Fall schon heute ein Gewinn. Insofern sehe ich zwei Stellen um mit eigenen Lösungen anzusetzen:
- Sie leiten die Sprache über ein
Relay-System um, welches die Sprache über
die Microsoft Cloud sendet und die
Übersetzung weiter leitet
Das wäre dann eine serverseitige Lösung. Für den „Weg“ der Sprache nicht immer optimal und der Anwender kann es kaum beeinflussen, ob er die Übersetzung will/braucht und der zentrale Prozess müsste die Quellsprache zuverlässig erkennen UND die Zielsprache kennen. - Sie erweitern den Client derart, dass er
auf Anforderung durch den Anwender die
Übersetzung aktiviert.
Dieser Option gebe ich die besten Chancen was aber bedeutet, dass der Client angepasst werden muss. Der Anwender könnte aber hier sogar Einfluss auf die Übersetzung nehmen.
Aber der klassische „Raumschiff Enterprise Communicator“ wird noch etwas auf sich warten lassen.
Weitere Links
- Microsoft Translator brings end-to-end
speech translation to everyone with the
world’s first Speech Translation API
https://blogs.msdn.microsoft.com/translation/2016/03/30/microsoft-translator-brings-end-to-end-speech-translation-to-everyone-with-the-worlds-first-speech-translation-api/ - Machine Translation Group
https://www.microsoft.com/en-us/research/group/machine-translation-group/ - Microsoft Translator business solution
https://www.microsoft.com/en-us/translator/home.aspx - Microsoft Translator Text API
https://www.microsoft.com/en-us/translator/translatorapi.aspx - Microsoft Translator Speech API
https://www.microsoft.com/en-us/translator/speech.aspx - Deepl
https://deepl.com
Sehr interessante Plattform für qualitativ hochwertige Textübersetzungen