見出し画像

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. 参考



いいなと思ったら応援しよう!

ピックアップされています

自然言語処理入門

  • 1,277本

未来

  • 58本

ロボット

  • 82本

コメント

3
sonoka777
sonoka777

(解決済み)Windows実行時エラー発生
環境、Windows11、Python 3.10
本記事のコードほぼそのままで実行したところ、エラー
エラー内容は「PermissionError: [Errno 13] Permission denied:」を含んでいました
調べてみるとWindowsで実行する場合pyaudioのインストールが必要だったみたいです。
「pip install pyaudio」コマンド後再度実行するとwarning出るものの音声が再生されました。
もし他にエラー出る方いましたら是非参考にしてください。

(執筆者様へ)大変参考になる記事ありがとうございました。

npaka
npaka

情報ありがとうございます。

吉野洸希
吉野洸希

自分で作成したオリジナルの声を使いたいので、COEIROINKの代わりにMYCOEIROINKと連携する方法を探しています。ご存知でしょうか?
尚、MYCOEIROINKはCOEIROINKと違いSpeaker IDが見受けられませんが、任意の声で発話させるプログラムを組むことは可能でしょうか?

コメントするには、 ログイン または 会員登録 をお願いします。
プログラマー。iPhone / Android / Unity / ROS / AI / AR / VR / RasPi / ロボット / ガジェット。年2冊ペースで技術書を執筆。アニソン / カラオケ / ギター / 猫 twitter : @npaka123
COEIROINK の音声合成をPythonから使う|npaka
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1