AmiVoice Techblog

AmiVoiceの音声認識に関する技術情報・活用方法・組み込み方などを発信するアドバンスト・メディアのテックブログです

【OBS】リアルタイム字幕配信の遅延対策してみた時の話



f:id:amivoice_techblog:20211201162230p:plainあの手先

マウスポインタのサブキャラ、あの手先です。

記事に出てくる人&書いた人

  • あの手先

    あの手先

    ポチポチするだけで大半の仕事を遂行できるように、
    業務自動化・RPA・MAの領域で、日々試行錯誤しています。
    ロボット対応で「より良い働き方」を推進していきます!

記事に出てくる人

  • ととのい侍

    ととのい侍

    新卒2年目の営業社員です。
    休日は競馬→サウナ→居酒屋のおっさん生活を送っています。

記事に出てくる人

目次

 はじめに
 あの日のこと
 あの日のあと
 その日のこと
 その日のあと
 おわりに

はじめに

今回は、こちらの記事で紹介した、

amivoice-tech.hatenablog.com

リアルタイム字幕システム「ACP Live Captioning Sample」を
オンラインセミナーでの利用を想定して実際に使ってみたので、
それがどういう経緯でどんな感じに仕上がったのかを紹介したいと思います。

※リアルタイム字幕システム「ACP Live Captioning Sample」とは、
 ACPを用いたOBS利用者向けブラウザ型リアルタイム自動字幕システムです。
 OBS配信の際にリアルタイム字幕を簡単に追加することができます。

※このシステムのソースコードこちらからダウンロードできます。

あの日のこと

あの手先

あの手先

ここ最近、YouTube動画だけじゃなくて、
ライブ配信にも字幕を付けてるパターンが多くない?

ととのい侍

ととのい侍

そうなんですよね。ちょっと聞き逃しても、
字幕があれば後からでもわかるので安心できますよね。

あの手先

あの手先

(普段から人の話に集中できてない疑惑浮上)
(いや、これこそが重要なニーズなのかもしれない)

ととのい侍

ととのい侍

何か言いかけました?

あの手先

あの手先

いや、何も言ってない。(音声認識的には)

ととのい侍

ととのい侍

ところで、我が社のオンラインセミナーをはじめとする
ライブ配信に字幕を付けたことってあるんですか?

あの手先

あの手先

んー。そういう事例は今までに見たことないね。

ととのい侍

ととのい侍

そもそもリアルタイム字幕付きのライブ配信って、
ハードルが高いことなんでしょうか?

あの手先

あの手先

技術的には全然そんなことないんだけど、
偉い人にちょっと相談してみるわ。

あの日のあと

あの手先

あの手先

…ということで、リアルタイム字幕付きのライブ配信
ちょっと条件付きだけど、実施許可が下りました!

ととのい侍

ととのい侍

許可が下りたんですね!おめでとうございます!

あの手先

あの手先

大義名分としては、
ととのい侍を営業として独り立ちさせるために、
オンラインセミナーデビューを目指して練習する。です。

ととのい侍

ととのい侍

え!?Σ(゚Д゚) 僕が出演して喋るんですね…
あっ、練習って何でですか?それが条件ってことですか?

あの手先

あの手先

自動字幕や音声認識精度がどんな感じになるのか、
まずは本番を想定したものを録画して見せてほしい。
それを見てから判断をしたい。とのことでした。
※この動画を下の方で公開しております。

ととのい侍

ととのい侍

なるほど…やはり社内的なハードルがあるんですね。

あの手先

あの手先

ともあれ、音声認識精度の部分は全然心配していなくて、
字幕の見せ方に気をつければいいかなと思っているので、
早速ですが、明日からライブ配信の練習を始めましょう!

ととのい侍

ととのい侍

はい…明日!?Σ(゚Д゚)

その日のこと

あの手先

あの手先

…という流れがあって、これから練習を始めるのですが、
リアルタイム字幕システムの使い方、教えてください。

S.R

S.R

なるほど!是非、使い倒してやってください。
まずは、OBSとOBS-WebSocketをインストール。
そして、ACP Live Captioning Sampleをダウンロード
続きは、こちらのブログで。

あの手先

あの手先

"簡単3ステップ"でまとめられてる感じがするけど、
その手には乗らないぞ。みっちり教えてよ。

S.R

S.R

はーい(^▽^;)まずはここからですね…

その日のあと

ととのい侍

ととのい侍

…ご清聴、誠にありがとうございました!(練習中)

あの手先

あの手先

うーん。配信画面にリアルタイム字幕表示できたけど、
字幕の表示されるタイミングがワンテンポ遅いよね。

※こちらの動画は、遅延処理(同期オフセット設定)なし版です。
※記事作成中にサービス内容がリニューアルしたため、冒頭50秒のみ公開。
※「AmiVoice 音声認識API」は、「AmiVoice API」となりました。

ととのい侍

ととのい侍

いやいや、音声認識の認識結果って、どうしたって
ちょっと遅れて出てくるもんですよね。他社も含めて。

あの手先

あの手先

どうにかならないもんかね。S.R君。

S.R

S.R

リアルタイム音声認識を用いた字幕挿入は、
認識結果が返ってくるまでどうしても時間が掛かるので、
字幕の表示に遅延が発生してしまいます。

ととのい侍

ととのい侍

ですよね。やっぱり、どうにもなりませんよね?

S.R

S.R

そこで、字幕の表示が遅延してしまう時間分だけ、
映像・音声を意図的に遅らせるという仕組みを使います。
※詳しい設定方法は、こちらで解説しています。

あの手先

あの手先

そんな手があるのか!なるほど!

S.R

S.R

そうすることで、遅らせた映像・音声が、
字幕が表示されるタイミングと重なるようになります。
※稀に喋る前に字幕が出てしまうこともありますが。

あの手先

あの手先

早速やってみよう。

※こちらの動画は、遅延処理(同期オフセット設定)あり版です。
※同期オフセットの設定値は1700msでやってみました。

ととのい侍

ととのい侍

これで音声と字幕のタイミングがととのいましたね!

おわりに

いかがでしたでしょうか。
字幕表示がワンテンポ遅いという悩みは、これで解決できたかと思います。
同期オフセットの設定値は、個人差がありますので、お好みで調節してください。

個人的な好みの問題かもしれませんが、字幕の改行位置が適切かどうかで、
字幕が読みやすくなる気がしたので、自動改行機能をサクッと作ってみました。
この自動改行機能については、また別の記事で紹介しようかと思います。
自動改行あり版の動画も公開しておりますので、是非、比較してご覧ください。