音声認識(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
ドキュメント