書くことないです。

ayamadoriが独り言を呟く日記。

動画に視聴者側で無理やり(翻訳)字幕をつけるダサいやり方

今更な話なのかもしれないけど、それなりに上手く動きそうなので覚書。

1. Microsoft Translator にアクセスする。
translator.microsoft.com
2. 会話を開始する(要ログイン)。この時『言語』は動画で使用される言語を選択し、『私はこの製品を教室で使用しています』にチェックを入れる。あるいは会話開始後にプレゼンテーションモードにする。
3. マイクをスピーカーに近づける。
4. Always on Top をインストールする(ステマ)。
www.microsoft.com
5. Always on Top で Microsoft Translator にアクセスし、2.で開始した会話に参加する。この時『言語』は翻訳先の言語(日本語など)にする。
6. Always on Top を常に最前面表示に切り替え、位置を調整する。
7. 動画をフルスクリーンで再生する。
8. こんな感じで、連続的に翻訳字幕が表示される。ここでは Always on Top をもう一つ起動し、英語の字幕も同時に表示している。
f:id:ayamadori:20171210225847j:plain

参考

プレゼンテーションモードの名の通り、プレゼンテーションのように発音がハッキリ、文章がきっちり区切られている場合はそこそこの音声認識・翻訳精度が得られると感じる。逆にスポーツ実況のようにとめどなく発言し続けているような場合は苦しい。自分のヒアリング能力からしてむしろ後者について上手く動いてくれることを期待したんだけど、まあ人間が苦手なところは機械も苦手ってことかな。

ノートPCなどでマイクをスピーカーに近づけられない場合、1~3をスマホで代替すれば良い。場合によってはPC用のマイクより集音性能が高いかもしれない。

クラシックアプリには常に最前面表示するための Topmost プロパティがあるけど、UWPアプリのフルスクリーンモードで隠れてしまう。ただし自分が使ってるクラシックアプリでしか検証していないので、ひょっとしたらうまいやり方があるのかもしれない。少なくとも上図の通り、UWPアプリ(WinRT)の CompactOverlay モードは隠れない。