TTS モデル 2 つを試す - “openbmb/VoxCPM2”, “OpenMOSS-Team/MOSS-TTS-Nano-100M”
所感
VoxCPM2 は、デフォルトのまま動かすと、男性っぽい時も、女性っぽい時もある。ただ、ハマった時の日本語の自然さには特筆すべきものがある。
ただ、安定して、それを出すのは、それなりに時間をかける必要があるのかも。音声クローンや、感情やスタイルの指定もあるっぽい。どこかで触りたいが、CPU だとほぼ使い物にならない速度。GPU でもこの VRAM 消費と速度と考えると、なかなか実用するには厳しい気がする。あくまでも、特定の使用環境を想定した感覚。
MOSS-TTS-Nano-100M は、100M で、20 言語対応だからね(VoxCPM2 は 30 言語)。動くだけですごい。しっかり日本語は話した。しかし、品質はやはり厳しい。限られたリソースの中で多言語音声対応の TTS として活躍できる場所があるのかもしれないが、もう触ることは無いだろう。
TTS も奥が深そうだから、ちょっと動かしただけで判断してしまうのももったいない気もするが、はじめの印象も大きいので仕方ない。
openbmb/VoxCPM2
環境構築
uv init -p 3.11
uv add torch torchvision --index-url https://download.pytorch.org/whl/cu130
uv add voxcpm soundfileソースコード
`tts.py` を作成。
from voxcpm import VoxCPM
import soundfile as sf
model = VoxCPM.from_pretrained("openbmb/VoxCPM2", load_denoiser=False)
wav = model.generate(
text="こんにちは。VoxCPM2 で日本語の音声合成をテストしています。",
cfg_value=2.0,
inference_timesteps=10,
)
sf.write("output.ja.wav", wav, model.tts_model.sample_rate)
print("done")実行
uv run python tts.pyOpenMOSS-Team/MOSS-TTS-Nano-100M
環境構築
CPU 版 torch を入れる。
git clone https://github.com/OpenMOSS/MOSS-TTS-Nano.git
cd MOSS-TTS-Nano
uv venv --python 3.12
source .venv/bin/activate
uv pip install torch==2.7.0 torchaudio==2.7.0 \
--index-url https://download.pytorch.org/whl/cpu
uv pip install -r requirements.txt
uv pip install -e .実行
python infer.py --prompt-audio-path assets/audio/jp_2.wav \
--text "こんにちは、 私はモス TTS ナノです。日本語の音声合成をテストしています。"