AIを使用して世界中の他のオンラインユーザーと会話することにより、言語の障壁を横切って飛び越えます! LanguageLeapaiは、あなたの希望の言語を流fluentに理解して話すことができるリアルタイム言語AIアシスタントを提供することを目指しています。 (現在の時点で英語を標的にしています)
セットアップガイド:https://www.youtube.com/watch?v=bn5uaekipgm
ショーケース:https://www.youtube.com/watch?v=uy7srb60wz4
このプロジェクトは、3つの無料およびオープンソースAIシステムを統合します。
whisperaiとbuelsvoxの両方がDockerhubでDocker画像を使用できるため、Docker Composeファイルを介してそれらを構築して実行します。 Deeplは、無料プランにサインアップし、そのREST APIと最大500,000の文字制限 /月と対話することで対話できます。お住まいの国でDeeplが利用できない場合は、代わりにGoogle翻訳を使用するオプションが利用可能です。
LanguageLeapaiは、2つのメインPythonプログラムで構成されています。
最初のVoice_translator.pyは、プッシュツートークキーがキーボードに押し付けられたときはいつでもマイクを記録します。このキーがリリースされると、音声をオーディオファイルに保存し、その後、自動音声認識(ASR)を実行するWhisperaiの転写エンドポイントに送信されます。テキストを受け取ったときのスピーチを含む応答の後、このテキストはDeeplのREST APIを使用して翻訳されます。
翻訳されたテキストは、テキストからスピーチを実行し、日本語で声を出したオーディオファイルを生成するVoiceVoxに送信されます。このファイルは、ターゲットアプリケーションのマイク入力とスピーカー/ヘッドフォンに再生されます。
VoiceVoxは日本のテキストを入力としてのみ受け取り、日本語でスピーチを生成するため、このプロジェクトは技術的にはターゲット言語として日本語に限られています。ただし、VoiceVoxは、無限の可能性のためにあなたの希望の言語を話すことができる他のテキストから音声プログラムに置き換えることができます。
ThorstenはドイツのTTSプログラムとして追加されました。
2番目のSubtitler.pyは、アプリケーションのオーディオ出力を記録し、スピーチの背景に耳を傾けます。フレーズ/文が完了することが検出されると、オーディオをWAVファイルに保存し、ターゲット言語からスピーチを英語に変換するwhisperaiの翻訳エンドポイントに送信します。
この英語のテキストは、PythonのTkinterモジュールを使用して画面に表示され、本質的に字幕として機能します。
LanguageLeapaiのターゲットオーディエンスは、他の人とチャットしたいが同じ言語を話さないユーザー向けです。例は、日本サーバーでオンラインゲームをプレイしている英語を話すユーザーですが、日本語が知らないにもかかわらず音声チャットを使用したいと考えています。
subtitler.pyとvoice_translator.pyの両方を実行することで、リアルタイムで生成された英語の字幕を読むことで、日本の仲間のチームメイトを理解できます。彼らはまた、英語を話すことができ、日本のチームメイトは代わりに、Voicevoxによって生成された翻訳された日本のスピーチを聞くでしょう。
ただし、 LanguageLeapaiの唯一のアプリケーションではありません。
ユーザーは、話す必要がなくても言われていることを理解したいだけです。たとえば、字幕なしで別の言語でビデオ /ストリーム /映画を見る。ユーザーは、voice_translator.pyを実行しないことを選択し、Subtitler.pyを使用するだけです。
ユーザーは、耳を傾けて理解するのに十分な言語を理解していますが、さまざまな理由で言語を話すことを恐れています。ユーザーは、subtitler.pyを実行しないことを選択し、voice_translator.pyを使用するだけです。
LanguageLeapaiのセットアップには3つの重要なステップが必要なので、それらのいずれかをお見逃しなく!
LanguageLeapaiを実行するには、最初にWhisperaiとVoiceVoxを実行する必要があります。 Dockerを介して、またはGoogle Colabを使用して実行できます。
GPUが十分に強力でない場合は、Google ColabのGPUを使用してWhisperaiとVoicevoxを実行することを検討することをお勧めします。
run_whisper_n_voicevox.ipynbファイルをGoogleドライブにアップロードし、Google Colabでノートブックを開き、指示に従ってください!
クラウド上でささやきまたはbueicevoxのみを実行するには:run_whisper_colab.ipynbおよびrun_voicevox_colab.ipynb colabファイルのいずれかを使用してください!
それでもコンピューターでwhisperとbowicevoxの両方を実行したい場合は、docker-compose.ymlファイルを含むフォルダーでこれらのコマンドを実行します。
whisperaiとvoicevoxの両方を実行するには:
docker-compose up -d
コンテナの実行を停止するには:
docker-compose down
Linux(WSL)用のWindowsサブシステムを実行している場合は、それをシャットダウンしてRAMを取り戻すことを忘れないでください。これは、コンテナを停止し、プログラムを使用して完了した後にのみです。
wsl --shutdown
ドイツ語版のVoiceVoxを実行する場合は、Docker-Composeファイルを対応するファイルに変更する必要があります。 TTSは変更されている唯一のものですので、.envファイルのTARGET_LANGUAGE_CODE
も変更してください。
whisperaiとThorstenの両方を実行するには:
docker-compose -f docker-compose-de.yml up -d
コンテナの実行を停止するには:
docker-compose down
これらのコマンドをSRC/フォルダーで実行します。
オーディオ字回りを実行するには:
python subtitler.py
音声翻訳者を実行するには:
python voice_translator.py
Pythonスクリプトを停止するには、端子でCtrl+C
押すだけです。
LanguageLeapaiを使用している間、留意すべき重要なことがいくつかあります。
Whisperaiは正確に最も正確ではなく、100%の時間でスピーチを正しく転写しないことに注意してください。あなた自身の責任で使用してください。 Openaiがささやきモデルのトレーニングに使用されたデータセットを改善することを決定するまで、これは必要です。
また、Whisperは、複数の同時リクエストを一度に処理するようには設計されていません。ただし、サブタイトルを時間内に更新するためには、複数のリクエストが非同期に送信されているため、一部のリクエストがエラーを返す可能性があります。
Google Colabを使用してクラウドでWhisperとVoiceVoxを実行している場合、NgrokとLocalTunnelを使用してサービスをホストしているため、提供するランダム化されたパブリックIPアドレスは、アンチウイルスソフトウェアによってブラックリストに登録される可能性があります。 AIが動作を停止しているように見える場合、これはこれらのパブリックIPアドレスへの接続をアンチウイルスがブロックしているためかもしれません。これらのIPアドレスをホワイトリストに登録するか、お客様の責任でウイルス対策Web保護をオフにすることができます。
VoiceVoxの声を使用するための特定の利用規約があるため、特定のスピーカーを使用する前にこれらを読み上げてください。
LanguageLeapaiのコードは、MITライセンスの下でリリースされます。詳細については、ライセンスを参照してください。