お問い合わせ
話雲 - ボイスチャット機能のご紹介
投稿日:2024-02-07
@prompta
(株)ブロックセブンスソフトウェア
AI
話雲
whisper
音声認識

# ボイスチャット機能概要

話雲にボイスチャット機能が追加されました。
主な機能として以下の点が実装されています。

  • 自動音声録音機能-ボイスチャットの音声を自動で録音します。
  • 小窓テキストチャット機能 - 音声が使用できない場合の確認の為、チャット機能がついています。
  • 音声の文字起こし機能 - whisperを使用した文字起こし機能

# 使用方法

対象のユーザーとやり取りする為に、既存のスレッドなどから”メッセージを送る”を選択してください。
対象のユーザーの横に電話アイコンが表示されますので、こちらを押すとボイスチャットダイアログが表示されます。

# ボイスチャットを開始した送信元の表示はこのようになります。


送信先のユーザーが受話ボタンを押すと音声チャットが開始されます。

# ボイスチャットを開始した送信先の表示はこのようになります。

# 終話ボタンを押した場合

終話ボタンを押した後は、音声ファイルが添付した投稿がされます。
その後定期的に音声認識処理が行われます。

# 音声認識

ここでは以下の音声ファイルをwhisperにて認識させた結果を表示します。
oggファイル
文字起こし結果のvttファイルです。
vttファイル

WEBVTT

00:00:00.000 --> 00:00:09.240
こんにちは こちらはBlock7ソフトウェアです

00:00:09.240 --> 00:00:14.260
この音声はマクモのボイスチャット機能を使用して録音した内容となります

00:00:14.260 --> 00:00:21.300
ボイスチャット機能はこのPCのマイクから入力された音声を一つの音声ファイルに合成します

00:00:21.300 --> 00:00:26.880
その後OGGファイルに圧縮変換してクラウドステージに保存されます

00:00:27.360 --> 00:00:33.860
クラウドに保存された音声ファイルはWhisperという音声認識AIを使用して文字起こしを行います

00:00:33.860 --> 00:00:39.080
以上の内容はボイスチャット送信元のPCを使用して録音を行いました

00:00:39.080 --> 00:00:43.420
これから送信先のPCに移動して録音を継続します

00:00:43.420 --> 00:00:50.620
送信先のPCに移動しました

00:00:50.620 --> 00:00:56.980
Whisperは当初はクラウドラン等のサービスを使用して動作させることを想定しておりましたが

00:00:56.980 --> 00:01:02.940
コストの問題や動作速度の面でまだローカル環境の方が分があると分かり

00:01:02.940 --> 00:01:06.280
今回の文字起こしはローカル環境上で行っています

00:01:06.280 --> 00:01:12.160
音声から文字起こしされた内容はチャットとして投稿されるほか

00:01:12.160 --> 00:01:17.640
VTTファイル形式でクラウドステージに保存されいつでもダウンロードすることができます

00:01:17.640 --> 00:01:23.880
また今後は文字起こしされた音声をラーマ等の大規模言語モデルを使用して

00:01:23.880 --> 00:01:26.960
該当テキストを要約する機能などを追加しようとしています

00:01:26.960 --> 00:01:31.420
以上、Wacomのボイスチャット機能の紹介でした

00:01:31.420 --> 00:02:01.400
ご視聴ありがとうございました

所どころ名詞の認識に不足がありますが、制度としては8~9割程度正確になります。

# 通話の詳細

音声認識の流れは以下の様な形で行われます。

  1. クライアントA(送信側)がクライアントB(受信側)に通話開始の通知を送ります。
  2. クライアントB(受信側)が通話許諾を行いソケット経由でaudio bufferの送受信が開始されます。
  3. ソケットを中継するapp serverが双方のソケットが送受信されたタイミングで、録音が開始されます。
  4. 送受信、どちらかが終話ボタンを押すと、送受信双方で保存されていたaudio bufferをwav形式のファイルとして保存されます。
  5. 双方のwavファイルを一つのwavファイルとして保存します。
  6. マージされたwavファイルをoggファイルに変換します。
  7. oggファイルをクラウドに保存します。
  8. ファイルの保存パスをデータベースに保存します。
    図解1

# 音声認識の詳細

その後、whisperによる音声認識処理を以下の様な流れで行います。

  1. AIサーバが処理待ちのファイルが存在するかapp serverに問い合わせ
  2. 処理すべきファイルがある場合は、ダウンロードして、oggファイルをwavに変換
  3. 音声認識開始
  4. 音声認識後、結果テキストファイルをクラウドストレージに保存する。
  5. 結果テキストファイルの保存パスをデータベースに保存。
    図解2