こんにちは。ファンリピートの鳴海です。今回は、Meta AIが発表した様々な言語へ音声やテキスト変換が可能なサービスについて、使い方や使ってみた所感をまとめています。
少しでも気になった方は是非本記事をご覧ください!
SeamlessM4Tとは
FacebookやInstargramを開発したMeta AI社が2023年8月22日(火)に「SeamlessM4T」を公開しました。
主な機能
自分の音声を様々な言語に音声変換、文字変換を同時に行ってくれる内容となります。
別々で音声変換、文字変換という形で別々のサービスで分けられていましたが、SeamlessM4Tの場合、それが一つにまとまったサービスとなっています。
現在だと約100個の入力言語と35個の出力言語の翻訳をサポートしているとのことなので、今後幅広く多言語に対応できると様々なことに活用できそうですよね。
仕組み
SeamlessM4Tの仕組みは一見複雑に見えるかもしれませんが、基本的には言語を理解して別の言語に変換する仕組みです。
下記画像のようにいくつかの「層」や「部分」から成り立っています。
これらは、特定のタスクを担当しているんです。例えば、一部は音声をテキストに変換する「自動音声認識(ASR)」と呼ばれる部分で、もう一部はそのテキストを別の言語に翻訳する「機械翻訳(MT)」と呼ばれる部分です。
なぜこの技術が開発されたのか
言語の壁は、人々が互いに理解し合う大きな障害です。
SeamlessM4Tがこの問題を解決し、多文化的な環境でも人々が効果的にコミュニケーションを取れるようにするため、開発されたとのことです。
少し使ってみたところ10秒ぐらいの録音を3秒ほどで変換してくれたので、もし正式にリリースされた際にはリアルタイム翻訳も近いかもですね。
使い方
リンクを開きます。
Start recordingをクリックして、日本語や英語などで録音する。※15秒まで
翻訳したい言語を選択し、translateをクリックする。※最大3つまで
選択した言語に合わせて、テキスト、音声が出力される。
どのように変換が行われているか
公式が発表している記事を参照してみると、以下のような流れで変換が行われているみたいですね。
「こんにちは」と録音した際にSeamlessM4Tの「音声エンコーダ」がその音声データを取得します。音声エンコーダというのは音声をコンピュータが理解できる形に変換するという内容になります。
次に音声を小さな部分に分解します。例えば、「こんにちは」と言った場合、それを「こ・ん・に・ち・は」といったように細かく分けて考えます。
分解した音声から、何が言いたいのか、つまり「意味」を抽出します。このステップで、音声の「内部表現」を作成します。内部表現というのはモデルが入力データ(この場合は音声)を理解し、その内容を数学的な形で表すためのデータ構造やパターンのことです。具体的には、音声やテキストが多次元のベクトルやテンソルといった数学的な形に変換するような内容となります。
この内部表現は次に「テキストデコーダ」に送られます。このデコーダは、内部表現をもとにして、新しい言語でのテキストを生成します。
新しい言語で生成されたテキストは、必要ならば再び音声に変換されます。これは「テキストから音声」の変換部分で行われ、最終的にあなたが理解できる形の音声が出力されます。
3や5においてのデータやモデルは以下のような技術をつかっているみたいです。
SeamlessAlign
大量の音声とテキストデータから成るデータベースです。このデータを使って、モデルは訓練されます。
SONAR
200言語に対応するテキスト埋め込み空間です。この技術を使って、多言語間での翻訳が可能になります。
実際の使用例としては?
もしこのサービスが公式でリリースされるようになるとしたら、以下のような使用例が増えていくのかなと思います。
- 教育分野での活用
- ビジネスミーティング
- 観光業
- 緊急時のコミュニケーション
どちらもリアルタイムで翻訳が行えることが最大の利点なのではないのかなと思います。現状では観光や教育などシーンにおいてほとんどの人が翻訳ツールを活用して、しばらく時間が経ってから出力してといった絶妙な間が生じてしまうのかなと思います。
その短所がSeamlessM4Tによってシームレスな会話が可能になり、上記のシーンも勿論、災害などがあった際にも翻訳が可能と考えると素晴らしいですよね。
所感
使い方の箇所では「こんにちは。私は元気です。」と録音してみたのですが、「こんにちは 先生は元気です」と出力されていたので精度はまだ低いのかなと思います。
ですが翻訳されたテキストや音声は特に問題なく変換が行われていたので、Meta AIの研究が進んで正式リリースできるとかなりいろんなサービスに使えるのではないのかなと思います。