見出し画像

COEIROINK の音声合成をPythonから使う

「COEIROINK」の音声合成をPythonから使う方法をまとめました。

1. COEIROINK

「COEIROINK」は、無料で使えるテキスト読み上げソフトウェアです。自分の声の音声合成を作る「MYCOEIROINK」も提供されています。

2. COEIROINK をUIから使う

「COEIROINK」をUIから使う手順は、次のとおりです。

(1) 「DOWNLOAD」ページから「COEIROINK」をダウンロード。
以下から自分の環境にあわせてダウンロードします。

・WindowsのCPU版
・WindowsのGPU版
・MacのCPU版

(2) 解凍して実行。
規約などを読み進めると、音声合成の画面が表示されます。

(3) セリフを入力して再生ボタンを押す。
つくよみちゃんの声でセリフをしゃべってくれます。

3. COEIROINK をPythonから使う

「COEIROINK」をPythonから使う手順は、次のとおりです。

(1) COEIROINKのUIを起動している状態で、ブラウザで「http://localhost:50031/docs」を開く。
「ローカルAPI」の使い方が表示されます。

(2) Pythonの仮想環境を作成し、以下のパッケージをインストール。
通信と音声再生のパッケージになります。

$ pip install requests
$ pip install pydub

【追記】Windowsでは「pip install pyaudio」も必要なようです。

(3) 以下のスクリプトを作成。
「audio_query」で音声合成のクエリを作成した後、「synthesis」で音声合成のwavを作成し、最後にpydubでwavの音声を再生しています。

・hello_ink.py

import json

import requests
from pydub import AudioSegment, playback

# パラメータ
text = "こんにちは"  # セリフ
speaker_id = 0  # スピーカーID (0:つくよみちゃん)

# 音声合成のクエリの作成
response = requests.post(
    "http://localhost:50031/audio_query",
    params={
        'text': text,
        'speaker': speaker_id,
        'core_version': '0.0.0'
    })
query = response.json()

# 音声合成のwavの生成
response = requests.post(
    'http://localhost:50031/synthesis',
    params={
        'speaker': speaker_id,
        'core_version': "0.0.0",
        'enable_interrogative_upspeak': 'true'
    },
    data=json.dumps(query))

# wavの音声を再生
playback.play(AudioSegment(response.content,
    sample_width=2, frame_rate=44100, channels=1))

(4) スクリプトの実行。
つくよみちゃんの声でセリフをしゃべってくれます。

$ python hello_ink.py

4. 参考



この記事が気に入ったらサポートをしてみませんか?