Skip to content

kazu44ttaka/My-SDS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My-SDS

faster-Whisper、ChatGPT API、VOICEVOX coreを組み合わせた音声対話システムです。ASR、TTSをローカル環境で動かし、高速なレスポンス生成を実現しています。

Qiita記事はこちら->https://qiita.com/kazu44ttaka/items/54daefa3cbc81718f284

想定環境

  • Windows OS
  • それなりのスペックをもったデスクトップPC
    • Intel 第13世代以上かそれに相当するCPU
    • VRAM 6GB以上のNVIDIA製GPU
  • Python 3.12.7
    • ほかのバージョンでの動作は確認していません
  • CUDA 12.6以上
    • 対応するcuDNNもインストールしてください
    • 11.xは動かない可能性が高いです

インストール

※このレポジトリのコードはMITライセンスで公開されています。各ライブラリのライセンスについては対応するgithubレポジトリを参照してください。

クローン

まず、レポジトリをローカル環境へクローンしましょう。

git clone https://github.com/kazu44ttaka/My-SDS

お好みのPython仮想環境上にrequirements.txtに書かれているパッケージをインストールしてください。

Pytorchに関してはrequirements.txtに書かれていないので、ご自身のCUDA環境にあったバージョンを手動でインストールしてください。

https://pytorch.org/

私の場合はCUDA 12.6なので、以下のようにPytorchをインストールします。

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126

faster-Whisperのセットアップ

ASRにはfaster-Whisperというものを使います。

https://github.com/SYSTRAN/faster-whisper

こちらは高性能ASRモデルであるWhisperをリアルタイム動作用にカスタマイズしたもので、これを用いればローカル環境で高速かつ高性能なASRを実現できます。

セットアップといってもやることは一つで、対応するPython ライブラリのインストールです。

pip install git+https://github.com/guillaumekln/faster-whisper.git

初回動作時に指定されたモデルが自動でダウンロードされます。

推論に用いるモデルのデフォルトはlarge-v3となっていますが、処理が重い場合はパラメータでmediumなどに変えることができます。各モデルは初回実行時に自動でダウンロードされます。

VOICEVOX coreのセットアップ

TTSにはVOICEVOX coreというものを使います。

https://github.com/VOICEVOX/voicevox_core

こちらは有名なVOICEVOXという読み上げソフトウェアの音声合成コアで、ローカル環境で高速に音声合成を行うことができます。 以下の作業をインストールガイドを見ながら行ってください。

Windows版のダウンローダをReleasesからダウンロード、先ほどクローンした場所(C: \...\My-SDS)に配置し、それを起動してVOICEVOX coreのインストールを行ってください。 インストールが完了したら以下のようにvoicevox_coreというファイルが生成されていると思います。

image.png

次に、対応するVOICEVOX coreのPython ライブラリをpipでインストールしてください。執筆時点での最新バージョンは0.16.0ですので、この場合のpipコマンドは以下のようになります。

pip install https://github.com/VOICEVOX/voicevox_core/releases/download/0.16.0/voicevox_core-0.16.0-cp310-abi3-win_amd64.whl

ここまででTTSのセットアップは完了です。

合成される音声のデフォルトは春日部つむぎになっていますが、TTSのパラメータで好きな音声を指定することができます。

諸準備

プロンプトファイルの指定

レポジトリをクローンした場所(C: \...\My-SDS)にChatGPTに与えるプロンプトを書いたテキストファイルをおいてください。ファイル名は例えばprompt.txtなどとし、下記のようにmain.pyの冒頭で指定してください。

image.png

たとえば、プロンプトの例は以下のようになります。

あなたはユーザーと雑談を楽しむカジュアルな会話パートナーです。
口語的な自然な日本語で話し、短いフレーズで返答してください。
質問には答えすぎず、会話が続くようにユーザーにも質問を返してください。
表情豊かな語り口で、親しみやすさを重視してください。

以下から会話が始まります。

OpenAI API keyの指定

先ほどと同じ場所に、OpenAIから発行されるAPI Keyを格納したテキストファイルをおいてください。Keyの発行方法などは別途記事を参照してください。ファイル名は例えばkey.txtなどとし、下記のようにGPT.pyの冒頭で指定してください。

image.png

実行

main.pyがメインプログラムになっています。これを実行し、以下のようにListening... Ctrl+C to stop.と表示されたら話しかけます。

↓動作例(音が出ます)

https://www.youtube.com/embed/XXmTUK0o3Pg?si=ju7k5aHi7PIIrEB4

CV:VOICEVOX、春日部つむぎ

使用ライブラリ

https://github.com/SYSTRAN/faster-whisper

https://github.com/VOICEVOX/voicevox_core

https://github.com/snakers4/silero-vad

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages