Logo
短いテキストの音声合成

Python SDK

1. SDK統合ガイド

対応するSDKファイルをダウンロードします。 本SDKは Python3.4及びPython3.4以降のバージョンにのみ対応します

1.1 SDKファイルの説明

ファイル/目次説明
speech_synSDK関連ファイル
├─ demo.pyサンプルコード
pythonSDK.md操作マニュアル
README.rst説明ドキュメント
setup.pyインストールファイル

1.2 SDKのインストール

  1. Pythonパッケージ管理ツール setuptools がインストールされていない場合、以下のコマンドを実行してインストールしてください。
pip install setuptools
  1. SDKのルートディレクトリで、以下のコマンドを実行してファイルをパッケージ化してください。
python setup.py bdist_egg
  1. 以下のコマンドを実行してSDKをインストールしてください。
python setup.py install
  1. 以下の情報が表示されれば、インストールが成功し、プロジェクト内で合成クラスを呼び出すことができます。

Finished processing dependencies for hy-python-syn-sdk==1.0.0

-インストールされた後に、build、dist、hy_python_syn_sdk.egg-info の3つのファイルが生成されます。

1.3 Demoの使用

speech_syn/demo/synthesizer_demo.py はリアルタイム音声合成のdemoで、直接実行するだけで使用できます。

2. パラメータの説明とコードサンプル

2.1 主要インターフェースの説明

リアルタイム音声合成SDKは主に Transcriber クラスを使用して実現され、認証には Token クラス’が使用されます。コードの呼出し手順は以下の通りです。

  1. SpeechClient クラスの get_token() メソッドを呼出して、tokenを取得します。
  2. SpeechTranscriber のインスタンスを作成します。
  3. Callback のインスタンスを作成します。
  4. SpeechTranscriber インスタンスの set_token() などのメソッドを使用して、パラメータを設置できます。
  5. SpeechTranscriber インスタンスの start() メソッドを呼出して、サーバーと接続します。
  6. SpeechTranscriber インスタンスの send() メソッドを呼出して、音声データを送信します。
  7. SpeechTranscriber インスタンスの stop() メソッドを呼出して、送信を停止します
  8. SpeechTranscriber インスタンスの close() メソッドを呼出して、サーバーとの接続を切断します。

2.2 パラメータの説明

パラメータ名説明デフォルト値
text合成待ちのテキストの長さの制限は、1024バイト(UTF-8エンコード)です。必須
lang_type言語のオプションは必須
voiceボイスのコードは日本語:Yuko
英語:Julie
中国語:Xiaohui
format音声エンコードの形式、wav / pcm / mp3
注意:wav はストリーミングをサポートしていません。
pcm
sample_rate音声のサンプリングレートは、8000、16000、24000を選択できます。24000
volume音量、パラメータ範囲 [0.1, 3]、通常は小数点以下1桁で十分です1
pitch_rateイントネーション、パラメータ範囲[0.1, 3]、通常は小数点以下1桁で十分です1
speech_rate話速、パラメータ範囲 [0.2, 3]、通常は小数点以下1桁で十分です1
silence_duration文末の無音時間、単位はミリ秒(ms)です125
enable_timestampタイムスタンプ関連、trueを渡すと有効になり、元のテキストのタイムスタンプを返すことができます。注意:元のテキストに連続した句読点やスペースは依然として処理されますが、タイムスタンプの連続性には影響しませんfalse
emotion感情・スタイルは、感情・スタイル一覧をご参照ください。なし

SDKのレスポンスパラメータはAPIプロトコルをご参照ください

2.3 サンプルコード

完全なコードについては、SDK内の speech_syn/demo/demo.py ファイルをご参照ください。

# -*- coding: utf-8 -*-
if __name__ == "__main__":
    client = speech_syn.SpeechClient()
    # Set the level of output log information: debug, info, warning, error
    client.set_log_level('INFO')
    # Type your app_id and app_secret
    app_id = "a8d54833-01a3-4451-93cb-3f2bf37911ff"  # your app id
    app_secret = "GxM30WM6qN"  # your app secret
    # Type your text and lang_type
    text = "今日はいい天気ですね。もうご飯を召し上がりますか?"
    # Optional: zh-cmn-Hans-CN en-US ja-JP
    lang_type = 'ja-JP'

    # Optional: Set the parameters of the synthesis
    format = ''                        # Default: MP3, Optional: PCM, 
    voice = ''                          # Default: Xiaohui 
    sampe_rate = ''                     # Default: 24K, Optional: 16K, 8k
    volume = ''                         # Default: 1.0, Optional: 0.1-3.0
    speech_rate = ''                    # Default: 1.0, Optional: 0.2-3.0
    pitch_ratio = ''                    # Default: 1.0, Optional: 0.1-3.0
    emotion = ''                        # Default: None
    silence_duration = ''               # Default:125
    enable_timestamp = False               # Default: False
    audio_name = f'syAudio.mp3'
    solution(client, app_id, app_secret, text, audio_name, lang_type, format, 
             sampe_rate, voice, volume, speech_rate, pitch_ratio, emotion, silence_duration,
             enable_timestamp)

4. SDK Download

Python SDK