短いテキストの音声合成
Python SDK
1. SDK統合ガイド
対応するSDKファイルをダウンロードします。 本SDKは Python3.4及びPython3.4以降のバージョンにのみ対応します
1.1 SDKファイルの説明
| ファイル/目次 | 説明 |
|---|---|
| speech_syn | SDK関連ファイル |
| ├─ demo.py | サンプルコード |
| pythonSDK.md | 操作マニュアル |
| README.rst | 説明ドキュメント |
| setup.py | インストールファイル |
1.2 SDKのインストール
- Pythonパッケージ管理ツール
setuptoolsがインストールされていない場合、以下のコマンドを実行してインストールしてください。
pip install setuptools- SDKのルートディレクトリで、以下のコマンドを実行してファイルをパッケージ化してください。
python setup.py bdist_egg- 以下のコマンドを実行してSDKをインストールしてください。
python setup.py install- 以下の情報が表示されれば、インストールが成功し、プロジェクト内で合成クラスを呼び出すことができます。
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 クラス’が使用されます。コードの呼出し手順は以下の通りです。
SpeechClientクラスのget_token()メソッドを呼出して、tokenを取得します。SpeechTranscriberのインスタンスを作成します。Callbackのインスタンスを作成します。SpeechTranscriberインスタンスのset_token()などのメソッドを使用して、パラメータを設置できます。SpeechTranscriberインスタンスのstart()メソッドを呼出して、サーバーと接続します。SpeechTranscriberインスタンスのsend()メソッドを呼出して、音声データを送信します。SpeechTranscriberインスタンスのstop()メソッドを呼出して、送信を停止します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)