音声テキスト変換 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
ドキュメント