MENU
A.I. とか最近流行っているらしいよ

無料で誰でも使える「音声合成API」作ってみました

2023 7/05
無料で誰でも使える「音声合成API」作ってみました

最近 VITS TTS が面白くてずっといじっていた
ベースコードを改造して、いくつかの音声合成モデルをファインチューニングしてみました。

その内、イントネーションが割とよく、上出来だなーと思っているのは「あみたろの声素材工房」の音声を使って学習したモデルです。
VITS モデル自体は下記のリンクで公開しています。

VITS-Amitaro-Model

こちらのリンクでどいう音声なのか試せます。
音声生成したいテキストを入力して 「Generate Voice!」 ボタンを押せば音声が作成されます

VITS-TTS-Japanese-Only-Amitaro

そのままモデル公開するだけでは使いにくいと思い、 API を作りました。
APIは2種類の出力があって、
渡したパラメータによって出力が変わります。

“audio_array” 音楽データのArray形式
“audio_file”   .wav ファイル形式

どちらにも sample_rate は 22050 です。

Python でのAPI呼び出し方法

from gradio_client import Client

client = Client("https://lycoris53-VITS-Selected-Amitaro.hf.space/", hf_token = "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")
result = client.predict(
        "おはようございます", # 音声合成したいテキスト
        "audio_file", # 出力の種類
        api_name="/predict"
        )
# ('', '/tmp/tmp3pgnspeoi4z0mnzh.wav')
print(result) # result = ['audio array', 'audio file'] # since we choose "audio_file" here, result[0] will be blank

Jupyter などでしたら下記のコードで音声ファイルプレイできます。

import IPython.display as ipd
ipd.display(ipd.Audio(result[1], rate=22050, normalize=False))

Curl などでのAPI呼び出し方法

curl -X POST https://lycoris53-VITS-Selected-Amitaro.hf.space/api/predict -H 'Authorization: Bearer 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' -H 'Content-Type: application/json' -d '{"data": ["おはようございます。", "audio_file"]}'

結果:

{"data":["",{"name":"/tmp/tmppi137sw9.wav","data":null,"is_file":true}],"is_generating":false,"duration":0.7159371376037598,"average_duration":1.1998624205589294}
のアイコン画像

他のモデルも気が向いたら API 追加します。
何がの要望があったら気軽にご連絡ください!

よかったら Huggingface もどうぞよろしくお願いいたします。

この記事が気に入ったら
フォローしてね!

この記事を書いた人

コメント

コメントする

目次
閉じる