メインコンテンツへスキップ
見出し画像

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



     
     

    npaka

     
     
    プログラマー。iPhone / Android / Unity / ROS / AI / AR / VR / RasPi / ロボット / ガジェット。年2冊ペースで技術書を執筆。アニソン / カラオケ / ギター / 猫 twitter : @npaka123

    あなたへのおすすめ