HumansXドキュメントセンター 公式サイトへ ↗

音声テキスト変換 ASR -- API インターフェース説明

概要

ASR モジュールは REST API と WebSocket インターフェースを提供し、音声ファイルの認識とマイクからのリアルタイム認識に対応しています。

REST API

基本情報

  • Base URL: http://localhost:8001
  • すべての API エンドポイントが CORS に対応しています

1. ヘルスチェック

GET /

Web 画面を取得します

GET /

レスポンス: HTML ページ

2. 音声ファイルのアップロードと認識

POST /upload_audio

音声ファイルをアップロードして音声認識を行います

POST /upload_audio
Content-Type: multipart/form-data

file: 音频文件 (支持wav, mp3, m4a, flac, ogg格式)

レスポンス:

{
  "success": true,
  "text": "识别的文本内容",
  "filename": "文件名",
  "file_size": 12345
}

またはエラーレスポンス:

{
  "success": false,
  "error": "错误信息"
}

WebSocket API

マイクからのリアルタイム認識

WebSocket /ws

マイクからのリアルタイム音声認識に使用します

接続:

ws://localhost:8001/ws

サーバーがプッシュするメッセージ形式:

{
  "type": "asr_result",
  "text": "识别的文本内容"
}

静的リソース

フロントエンド画面

GET /static/

静的リソースファイルにアクセスします

GET /static/index.html
GET /static/css/style.css
GET /static/js/app.js

エラー処理

すべての API エンドポイントは標準の HTTP ステータスコードに従います:

  • 200: 成功
  • 400: リクエストパラメータのエラー
  • 413: ファイルサイズが上限を超過
  • 415: 対応していないファイル形式
  • 500: サーバー内部エラー

エラーレスポンスの形式:

{
  "success": false,
  "error": "错误描述"
}

使用例

Python クライアントの例

import requests

# 上传音频文件识别
with open('audio.wav', 'rb') as f:
    files = {'file': f}
    response = requests.post('http://localhost:8001/upload_audio', files=files)
    result = response.json()
    print(result['text'])

JavaScript WebSocket の例

const ws = new WebSocket('ws://localhost:8001/ws');

ws.onopen = function() {
    console.log('WebSocket连接已建立');
};

ws.onmessage = function(event) {
    const data = JSON.parse(event.data);
    if (data.type === 'asr_result') {
        console.log('识别结果:', data.text);
    }
};

ws.onclose = function() {
    console.log('WebSocket连接已断开');
};

cURL コマンドの例

# 上传音频文件
curl -X POST -F "file=@audio.wav" http://localhost:8001/upload_audio