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

音声認識(ASR)— API インターフェース仕様

概要

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

REST API

基本情報

  • ベース 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