Logo

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