AIパーソナル・ラーニング
と実践的なガイダンス
讯飞绘镜

CosyVoice:3秒間の突進ボイス・クローニング・オープンソース・プロジェクトがアリによって立ち上げられる。

はじめに

CosyVoiceは多言語の大規模音声生成モデルであり、推論、トレーニングからデプロイまでフルスタックの機能を提供します。FunAudioLLMチームによって開発されたCosyVoiceは、高度な自己回帰変換器とODEベースの拡散モデルにより、高品質な音声合成の実現を目指している。CosyVoiceは多言語音声生成をサポートするだけでなく、人間の発音に匹敵するレベルの感情制御や広東語合成も行う。

無料オンライン体験(音声合成):https://modelscope.cn/studios/iic/CosyVoice-300M


無料オンライン体験(音声読み上げ):https://www.modelscope.cn/studios/iic/SenseVoice

CosyVoice:阿里推出的3秒急速语音克隆,支持情感控制标签-1

 

機能一覧

  • 多言語音声生成:多言語での音声合成をサポート。
  • スピーチのクローン化:特定の話者のスピーチの特徴をクローン化する能力。
  • 音声合成:テキストコンテンツを自然で滑らかな音声に変換します。
  • 感情制御:音声合成時の感情表現の調整。
  • 広東語合成:広東語の音声生成をサポートします。
  • 高音質オーディオ出力:HiFTNetボコーダーで高音質オーディオを合成。

 

ヘルプの使用

設置プロセス

アリ・トンイ・ラボは最近、CosyVoice音声モデルをオープンソース化した。CosyVoiceは、自然な音声生成、多言語、音色、感情制御をサポートし、多言語音声生成、ゼロサンプル音声生成、クロスリンガル音声合成、コマンド実行機能に優れている。

CosyVoiceは、中国語、英語、日本語、広東語、韓国語の5言語の合成をサポートするために、合計15万時間以上のデータトレーニングを使用しており、合成効果は従来の音声合成モデルよりも大幅に優れている。

CosyVoiceはワンショットトーンクローニングをサポートしています。リズムや感情などの詳細を含むアナログトーンを生成するのに必要な生の音声はわずか3~10秒です。また、言語間の音声合成にも適しています。

正式版は当面WindowsとMacをサポートしていないため、今回はこの2つのプラットフォームにそれぞれローカルにCosyVoiceをデプロイした。

Windowsプラットフォーム

まずウィンドウズ・プラットフォームに来て、プロジェクトをクローンする:

git clone https://github.com/v3ucn/CosyVoice_For_Windows

プロジェクトへのアクセス

cd CosyVoice_For_Windows

内蔵モジュールを生成する:

git submodule update --init --recursive

その後、依存関係をインストールする:

conda create -n cosyvoice python=3.11  
conda activate cosyvoice  
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com

公式に推奨されているPythonのバージョンは3.8である。

その後、ウィンドウズ版のディープスピード・インストーラーをダウンロードしてインストールしてください:

https://github.com/S95Sedan/Deepspeed-Windows/releases/tag/v14.0%2Bpy311

最後に、GPU版のトーチをインストールする。

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

ここではcudaのバージョンは12が選択されているが、11をインストールすることもできる。

その後、モデルがダウンロードされた:

# git模型下载,请确保已安装git lfs  
mkdir -p pretrained_models  
git clone https://www.modelscope.cn/iic/CosyVoice-300M.git pretrained_models/CosyVoice-300M  
git clone https://www.modelscope.cn/iic/CosyVoice-300M-SFT.git pretrained_models/CosyVoice-300M-SFT  
git clone https://www.modelscope.cn/iic/CosyVoice-300M-Instruct.git pretrained_models/CosyVoice-300M-Instruct  
git clone https://www.modelscope.cn/speech_tts/speech_kantts_ttsfrd.git pretrained_models/speech_kantts_ttsfrd

中国のMagic Hitch倉庫を使用しているため、非常に速い。

最後に環境変数を追加する:

set PYTHONPATH=third_party/AcademiCodec;third_party/Matcha-TTS

基本的な使い方:

from cosyvoice.cli.cosyvoice import CosyVoice  
from cosyvoice.utils.file_utils import load_wav  
import torchaudio  
cosyvoice = CosyVoice('speech_tts/CosyVoice-300M-SFT')  
# sft usage  
print(cosyvoice.list_avaliable_spks())  
output = cosyvoice.inference_sft('你好,我是通义生成式语音大模型,请问有什么可以帮您的吗?', '中文女')  
torchaudio.save('sft.wav', output['tts_speech'], 22050)  
cosyvoice = CosyVoice('speech_tts/CosyVoice-300M')  
# zero_shot usage  
prompt_speech_16k = load_wav('zero_shot_prompt.wav', 16000)  
output = cosyvoice.inference_zero_shot('收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。', '希望你以后能够做的比我还好呦。', prompt_speech_16k)  
torchaudio.save('zero_shot.wav', output['tts_speech'], 22050)  
# cross_lingual usage  
prompt_speech_16k = load_wav('cross_lingual_prompt.wav', 16000)  
output = cosyvoice.inference_cross_lingual('<|en|>And then later on, fully acquiring that company. So keeping management in line, interest in line with the asset that\'s coming into the family is a reason why sometimes we don\'t buy the whole thing.', prompt_speech_16k)  
torchaudio.save('cross_lingual.wav', output['tts_speech'], 22050)  
cosyvoice = CosyVoice('speech_tts/CosyVoice-300M-Instruct')  
# instruct usage  
output = cosyvoice.inference_instruct('在面对挑战时,他展现了非凡的<strong>勇气</strong>与<strong>智慧</strong>。', '中文男', 'Theo \'Crimson\', is a fiery, passionate rebel leader. Fights with fervor for justice, but struggles with impulsiveness.')  
torchaudio.save('instruct.wav', output['tts_speech'], 22050)

ここでは、より直感的で便利なWebuiを推奨する:

python3 webui.py --port 9886 --model_dir ./pretrained_models/CosyVoice-300M

http://localhost:9886

CosyVoice:阿里推出的3秒急速语音克隆开源项目,支持情感控制标签-1

なお、公式トーチではバックエンドにsoxを使用しているが、ここではsoundfileに変更している:

torchaudio.set_audio_backend('soundfile')

バグがあるかもしれないので、今後の公式プロジェクトのアップデートに期待していてほしい。

MacOSプラットフォーム

MacOsプラットフォームでは、まずプロジェクトをクローンした方がいい:

git clone https://github.com/v3ucn/CosyVoice_for_MacOs.git

依存関係をインストールします:

cd CosyVoice_for_MacOs  
conda create -n cosyvoice python=3.8  
conda activate cosyvoice  
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com

その後、Homebrew経由でsoxをインストールする必要がある:

brew install sox

これで設定は完了だが、環境変数の追加をお忘れなく:

export PYTHONPATH=third_party/AcademiCodec:third_party/Matcha-TTS

使い方はWindows版と変わらない。

ここでは、ウェブイをお勧めします。

python3 webui.py --port 50000 --model_dir speech_tts/CosyVoice-300M

http://localhost:50000

CosyVoice:阿里推出的3秒急速语音克隆开源项目,支持情感控制标签-2

結語

すべての公平性では、CosyVoiceは、大きな工場に値する、モデルの品質は、国内のAIの最高レベルを表すと言うことではありませんが、Tongyi Labsの名前は偽ではありません、もちろん、また、エンジニアリングの後にコードをオープンソースにすることができれば、それは良いでしょう、私はlibtorchの最適化後、このモデルは、TTSのオープンソースになると信じて良い選択ではありません。

 

使用プロセス

  1. 音声生成::
    • 1行1文の入力テキストファイル(例:input.txt)を用意する。
    • スピーチ生成のために以下のコマンドを実行する:
      python generate.py --input input.txt --output output/
      
    • 生成された音声ファイルはoutput/カタログ
  2. ボイスクローニング::
    • 対象話者のサンプル音声ファイル(例:sample.wav)を用意する。
    • 音声クローニングのために以下のコマンドを実行する:
      python clone.py --sample sample.wav --text input.txt --output output/
      
    • クローンされた音声ファイルはoutput/カタログ
  3. 感情コントロール::
    • 音声を生成する際、コマンドラインパラメータで感情を調整することができる:
      python generate.py --input input.txt --output output/ --emotion happy
      
    • サポートする感情には、喜び、悲しみ、怒り、中立などがある。
  4. 広東語合成::
    • 広東語のテキストファイル(例:cantonese_input.txt)を用意する。
    • 広東語音声生成のために以下のコマンドを実行する:
      python generate.py --input cantonese_input.txt --output output/ --language cantonese
      
    • 生成された広東語音声ファイルはoutput/カタログ

詳しい操作手順

  1. テキストの準備::
    • 入力テキストファイルが正しくフォーマットされていることを確認してください。
    • 文章はできるだけ簡潔明瞭にし、複雑な文章は避ける。
  2. 音声サンプルの準備::
    • 音声サンプルは、できるだけ背景雑音が少なく、明瞭な一人用の音声であること。
    • サンプルの長さは、最適なクローニングを確実にするために1分未満にすることが推奨される。
  3. パラメタリゼーション::
    • 必要に応じて、感情や言葉遣いなど、生成されるスピーチのパラメーターを調整する。
    • パーソナライゼーションは、設定ファイルやコマンドラインパラメーターを変更することで実現できる。
  4. 結果の検証::
    • 生成された音声ファイルは、オーディオプレーヤーで試聴することができる。
    • 満足のいく結果が得られない場合は、入力テキストまたは音声サンプルを調整して再生成することができる。
無断転載を禁じます:チーフAIシェアリングサークル " CosyVoice:3秒間の突進ボイス・クローニング・オープンソース・プロジェクトがアリによって立ち上げられる。
ja日本語