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




コメント
3(解決済み)Windows実行時エラー発生
環境、Windows11、Python 3.10
本記事のコードほぼそのままで実行したところ、エラー
エラー内容は「PermissionError: [Errno 13] Permission denied:」を含んでいました
調べてみるとWindowsで実行する場合pyaudioのインストールが必要だったみたいです。
「pip install pyaudio」コマンド後再度実行するとwarning出るものの音声が再生されました。
もし他にエラー出る方いましたら是非参考にしてください。
(執筆者様へ)大変参考になる記事ありがとうございました。
情報ありがとうございます。
自分で作成したオリジナルの声を使いたいので、COEIROINKの代わりにMYCOEIROINKと連携する方法を探しています。ご存知でしょうか?
尚、MYCOEIROINKはCOEIROINKと違いSpeaker IDが見受けられませんが、任意の声で発話させるプログラムを組むことは可能でしょうか?