Python
DolphinVoice Python SDK
DolphinVoice SDKは音声認識と合成のために使用されます。このSDKは3つの主要なモジュールを提供します:
- リアルタイム音声認識 (ASR)
- 録音ファイル書き起こし (FileAsr)
- 音声合成 (TTS)
ドキュメント
DolphinVoice SDKに関する詳細なドキュメントやガイドについては、以下のリソースを参照してください:
技術サポートが必要な場合や質問がある場合は、開発者サポートチームにお問い合わせください。
インストール
このSDKは pip でインストールできます。
pip install dolphinvoice使用方法
from dolphinvoice.speech_rec.callbacks import SpeechTranscriberCallback
from dolphinvoice import speech_rec
import time
class Callback(SpeechTranscriberCallback):
def started(self, message):
print('TranscriptionStarted: %s' % message)
def result_changed(self, message):
print('TranscriptionResultChanged: %s' % message)
def sentence_begin(self, message):
print('SentenceBegin: %s' % message)
def sentence_end(self, message):
print('SentenceEnd: %s' % message)
def completed(self, message):
print('TranscriptionCompleted: %s' % message)
def task_failed(self, message):
print('TaskFailed: %s' % message)
def warning_info(self, message):
print('Warning: %s' % message)
def channel_closed(self):
print('TranslationChannelClosed')
audio_path = 'demo.mp3'
client = speech_rec.SpeechClient(app_id='YOUR_APP_ID', app_secret='YOUR_APP_SECRET')
with client.create_transcriber(Callback()) as transcriber:
transcriber.set_parameter({
"lang_type": "ja-JP",
"format": "mp3",
"sample_rate": 16000,
})
transcriber.start()
with open(audio_path, 'rb') as f:
audio = f.read(7680)
while audio:
transcriber.send(audio)
time.sleep(0.24)
audio = f.read(7680)
transcriber.stop()from dolphinvoice import speech_rec
client = speech_rec.SpeechClient(app_id='YOUR_APP_ID', app_secret='YOUR_APP_SECRET')
asrfile = client.create_asrfile()
audio = 'demo.mp3'
data = {
"lang_type": "ja-JP",
"format": "mp3",
"sample_rate": 16000
}
result = asrfile.transcribe_file(audio, data)
print(result)from dolphinvoice.speech_syn.callbacks import SpeechSynthesizerCallback
from dolphinvoice import speech_syn
class MyCallback(SpeechSynthesizerCallback):
def __init__(self, name):
self._name = name
self._fout = open(name, 'wb')
def binary_data_received(self, raw):
self._fout.write(raw)
def on_message(self, message):
print('Received : %s' % message)
def started(self, message):
print('MyCallback.OnSynthesizerStarted: %s' % message)
def get_Timestamp(self,message):
print('MyCallback.OnSynthesizerGetTimestamp: %s' % message)
def get_Duration(self, message):
print('MyCallback.OnSynthesizerGetDuration: %s' % message)
def completed(self, message):
print('MyCallback.OnSynthesizerCompleted: %s' % message)
self._fout.close()
def channel_closed(self):
print('MyCallback.OnSynthesizerChannelClosed')
audio_name = 'syAudio.mp3'
client = speech_syn.SpeechClient(app_id='YOUR_APP_ID', app_secret='YOUR_APP_SECRET')
callback = MyCallback(audio_name)
with client.create_synthesizer(callback) as synthesizer:
synthesizer.set_parameter({
"text": "天気がいいから、散歩しましょう。",
"lang_type": "ja-JP",
"format": "mp3"
})
synthesizer.start()
synthesizer.wait_completed()APIリファレンス
リアルタイム音声認識モジュールは、リアルタイムの音声ストリームを処理するために使用されます。
メソッド
create_transcriber(callback: SpeechSynthesizerCallback)- 認識イベントにイベントハンドラーを登録set_parameter(params: Json)- パラメータを指定start()- 新しい認識セッションを開始send(stream: Bytes)- 音声ストリームを認識サービスに送信stop()- 現在の認識セッションを停止し、リソースを解放
完全なAPIドキュメントはDolphinVoice APIドキュメントを参照してください。
イベント
TranscriptionStarted- 認識セッションが開始されたときにトリガーSentenceBegin- 新しい文が検出されたときにトリガーTranscriptionResultChanged- 中間結果が更新されたときにトリガーSentenceEnd- 文が完了したときにトリガーTranscriptionCompleted- 認識セッション全体が完了したときにトリガーWarning- 非致命的な警告が発生したときにトリガー
録音ファイル書き起こしモジュールは、事前に録音された音声ファイルを処理するために使用されます。
メソッド
transcribe_file(audio: String, params: Json)- 音声ファイルをアップロードして書き起こし
完全なAPIドキュメントはDolphinVoice APIドキュメントを参照してください。
テキストから音声への合成モジュールは、テキストを自然な音声に変換するために使用されます。
メソッド
create_synthesizer(callback: SpeechSynthesizerCallback)- 合成イベントのためにイベントハンドラーを登録set_parameter(params: Json)- パラメータを指定start()- 新しい合成セッションを開始
完全なAPIドキュメントはDolphinVoice APIドキュメントを参照してください。
イベント
OnSynthesizerStarted- 合成プロセスが開始されたときにトリガーOnSynthesizerGetDuration- 合成音声の総時間を提供OnSynthesizerGetTimestamp- 合成テキストのタイムスタンプ情報を提供OnSynthesizerCompleted- 合成プロセスが完了したときにトリガー
ライセンス
MIT