Python は Alibaba Cloud インターフェイスに接続し、リアルタイム音声文字起こし機能を実装します。
Alibaba Cloud は、音声認識機能を含む豊富な人工知能サービスを提供します。 Alibaba Cloud の API インターフェイスを利用すると、Python を使用してリアルタイムの音声文字起こし機能を実装できます。この記事では、Alibaba Cloud インターフェイスに接続する方法、リアルタイム音声文字起こしに Python を使用する方法、およびコード例を紹介します。
ステップ 1: Alibaba Cloud AccessKey の申請
まず、Alibaba Cloud 公式 Web サイトでアカウントを登録し、Alibaba Cloud API インターフェイスに接続するための AccessKey を作成する必要があります。 Alibaba Cloud コンソール ページで、[AccessKey Management] を選択して AccessKey 管理ページに入ります。 「AccessKeyの作成」ボタンをクリックしてAccessKeyとAccessKeySecretを取得します。
ステップ 2: Alibaba Cloud SDK をインストールする
次に、Alibaba Cloud の音声認識 API インターフェイスを呼び出すために、Alibaba Cloud SDK をインストールする必要があります。コマンドラインを開き、次のコマンドを実行して SDK をインストールします。
pip install aliyun-python-sdk-core pip install aliyunsdkcore
ステップ 3: Alibaba Cloud リアルタイム音声認識 API を呼び出す
コード内で、関連する
from aliyunsdkcore.client import AcsClient from aliyunsdkcore.profile import region_provider accessKeyId = "your_access_key" secret = "your_access_secret" regionId = "cn-hangzhou" region_provider.add_endpoint('asr', regionId, 'asr.aliyuncs.com') client = AcsClient(accessKeyId, secret, regionId)
上記のコードでは、Base64 を使用して音声データをエンコードし、accessKeyId、音声データ、その他の音訳パラメータを含む API インターフェイス呼び出しのリクエストが構築されます。 AcsClientのdo_action()メソッドを呼び出してリクエストを送信し、リアルタイム音声認識のタスクIDを取得します。
ステップ 4: リアルタイムの音声文字起こし結果を取得する
リアルタイム音声認識タスクが完了したら、文字起こし結果を取得する必要があります。 Alibaba Cloud は、タスク結果をクエリするための API インターフェイスを提供しており、このインターフェイスを使用してポーリングしてタスク結果を取得できます。
import base64 import json def transcribe_audio(audio_data): request = CommonRequest() request.set_domain('asr.cn-hangzhou.aliyuncs.com') request.set_version('2019-08-01') request.set_product('nls-filetrans') request.set_action_name('SubmitTask') audio_base64 = base64.b64encode(audio_data).decode('utf-8') task = { "app_key": accessKeyId, "file_link": "", "content": audio_base64, "enable_words": False, "enable_syllable": False, "enable_format": False, "enable_punctuation": False, "result_url": "", "result_format": "json" } request.add_body_params('task', json.dumps(task)) response = client.do_action(request) result = json.loads(response.decode('utf-8')) taskId = result["data"]["taskId"] return taskId
上記のコードでは、タスクが完了するかタイムアウトになるまで、ポーリングを使用してタスクの結果を取得します。タスクが正常に完了すると、転写された結果の URL を取得し、urllib ライブラリを使用して結果を取得できます。
ステップ 5: リアルタイム音声文字起こしコードを実行する
main 関数では、上記のステップを関数にカプセル化し、文字起こし用の音声データを渡すことができます。ファイルから音声データを読み取り、文字起こし結果をファイルに保存できます。
def get_transcribe_result(taskId): request = CommonRequest() request.set_domain('asr.cn-hangzhou.aliyuncs.com') request.set_version('2019-08-01') request.set_product('nls-filetrans') request.set_action_name('GetTaskResult') request.add_query_param('taskId', taskId) response = client.do_action(request) result = json.loads(response.decode('utf-8')) if result["code"] == 200000: status = result["data"]["taskStatus"] if status == 'Success': result_url = result["data"]["result"]["resultUrl"] response = urllib.request.urlopen(result_url) transcript = response.read().decode('utf-8') return transcript return None
上記は、リアルタイム音声転写関数の完全なコード例です。文字起こしするオーディオ ファイルを準備し、コードを実行した後、音声のリアルタイムの文字起こし結果を取得して、指定したファイルに保存できます。
概要
この記事では、Python を使用して Alibaba Cloud インターフェイスに接続し、リアルタイム オーディオ トランスコーディングを実装する方法を紹介します。 Alibaba Cloud AccessKey を申請し、Alibaba Cloud SDK をインストールし、Alibaba Cloud API インターフェイスを呼び出すことで、Python でリアルタイム音声文字起こし機能を簡単に実装できます。 Alibaba Cloud API を使用する場合、正確な音声文字起こし結果を取得するには、パラメーター設定と結果クエリに注意を払う必要があります。
付録
完全なコード例は、GitHub にあります: [https://github.com/example/transcribe-python](https://github.com/example/transcribe) - Python)
以上がPython は Alibaba Cloud インターフェースに接続し、リアルタイムオーディオトランスコーディング機能を実現しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。