音声テキスト変換 ASR -- 設定説明
概要
ASR モジュールは YAML 設定ファイルで設定を管理します。設定ファイルは config/config.yaml にあります。
設定ファイルの構成
サーバー設定 (server)
server:
host: "0.0.0.0" # 服务器监听地址
port: 8001 # 服务器端口
debug: false # 调试模式
音声設定 (audio)
audio:
sample_rate: 16000 # 采样率 (Hz)
channels: 1 # 声道数
segment_duration: 3.0 # 实时识别分段时长 (秒)
volume_threshold: 0.01 # 音量阈值,低于此值的音频将被忽略
max_audio_duration: 300 # 最大音频文件时长 (秒)
ASR 認識設定 (asr)
asr:
recognition_timeout: 30 # 识别超时时间 (秒)
max_retries: 3 # 最大重试次数
# sherpa-onnx模型配置
model:
model_dir: "./models/asr/sherpa-onnx-paraformer-zh-2024-03-09"
tokens_file: "tokens.txt"
model_file: "model.int8.ort"
num_threads: 2
feature_dim: 80
decoding_method: "greedy_search"
VAD 設定 (vad)
vad:
model_path: "models/vad/silero_vad.onnx" # VAD模型路径
ログ設定 (logging)
logging:
level: "INFO" # 日志级别: DEBUG, INFO, WARNING, ERROR
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
ファイルアップロード設定 (upload)
upload:
max_file_size: 50 # 最大文件大小 (MB)
allowed_formats: # 支持的音频格式
- "wav"
- "mp3"
- "m4a"
- "flac"
- "ogg"
設定項目の詳細説明
サーバー設定
| 設定項目 |
型 |
デフォルト値 |
説明 |
| host |
string |
“0.0.0.0” |
サーバーの待ち受けアドレス |
| port |
integer |
8001 |
サーバーのポート |
| debug |
boolean |
false |
デバッグモード |
音声設定
| 設定項目 |
型 |
デフォルト値 |
説明 |
| sample_rate |
integer |
16000 |
音声のサンプリングレート (Hz)。ASR モデルは 16kHz を必要とします |
| channels |
integer |
1 |
音声のチャンネル数 |
| segment_duration |
float |
3.0 |
リアルタイム認識のセグメント長 (秒) |
| volume_threshold |
float |
0.01 |
音量のしきい値。この値より小さい音声は無視されます |
| max_audio_duration |
integer |
300 |
音声ファイルの最大長 (秒) |
ASR 認識設定
| 設定項目 |
型 |
デフォルト値 |
説明 |
| recognition_timeout |
integer |
30 |
認識のタイムアウト時間 (秒) |
| max_retries |
integer |
3 |
最大リトライ回数 |
ASR モデル設定
| 設定項目 |
型 |
デフォルト値 |
説明 |
| model_dir |
string |
”./models/asr/sherpa-onnx-paraformer-zh-2024-03-09” |
モデルディレクトリのパス |
| tokens_file |
string |
“tokens.txt” |
tokens ファイル名 |
| model_file |
string |
“model.int8.ort” |
モデルファイル名 |
| num_threads |
integer |
2 |
使用するスレッド数 |
| feature_dim |
integer |
80 |
特徴量の次元数 |
| decoding_method |
string |
“greedy_search” |
デコード方式 |
VAD 設定
| 設定項目 |
型 |
デフォルト値 |
説明 |
| model_path |
string |
“models/vad/silero_vad.onnx” |
VAD モデルファイルのパス |
ログ設定
| 設定項目 |
型 |
デフォルト値 |
説明 |
| level |
string |
“INFO” |
ログレベル |
| format |
string |
”%(asctime)s - %(name)s - %(levelname)s - %(message)s” |
ログの形式 |
ファイルアップロード設定
| 設定項目 |
型 |
デフォルト値 |
説明 |
| max_file_size |
integer |
50 |
最大ファイルサイズ (MB) |
| allowed_formats |
array |
[“wav”, “mp3”, “m4a”, “flac”, “ogg”] |
対応する音声フォーマット |
設定の検証
設定は読み込み時に検証されます:
- ポート番号は 1~65535 の範囲内である必要があります
- サンプリングレートは 0 より大きい必要があります
- チャンネル数は 1 または 2 である必要があります
- 認識のタイムアウト時間は 0 より大きい必要があります
デフォルト設定ファイル
config/config.yaml が存在しない場合、システムはデフォルト設定ファイルを自動生成します:
# ASR语音识别应用配置文件
# 服务器配置
server:
host: "0.0.0.0"
port: 8001
debug: false
# 音频配置
audio:
sample_rate: 16000 # 采样率 (Hz)
channels: 1 # 声道数
segment_duration: 3.0 # 实时识别分段时长 (秒)
volume_threshold: 0.01 # 音量阈值,低于此值的音频将被忽略
max_audio_duration: 300 # 最大音频文件时长 (秒)
# ASR识别配置
asr:
recognition_timeout: 30 # 识别超时时间 (秒)
max_retries: 3 # 最大重试次数
# sherpa-onnx模型配置 (可选)
model:
model_dir: "./models/asr/sherpa-onnx-paraformer-zh-2024-03-09"
tokens_file: "tokens.txt"
model_file: "model.int8.ort"
num_threads: 2
feature_dim: 80
decoding_method: "greedy_search"
# VAD配置
vad:
model_path: "models/vad/silero_vad.onnx" # VAD模型路径
# 日志配置
logging:
level: "INFO" # 日志级别: DEBUG, INFO, WARNING, ERROR
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
# 文件上传配置
upload:
max_file_size: 50 # 最大文件大小 (MB)
allowed_formats: # 支持的音频格式
- "wav"
- "mp3"
- "m4a"
- "flac"
- "ogg"
設定クラスの構成
コード内では、設定は次のデータクラスで管理されます:
AppConfig: アプリケーション全体の設定
ServerConfig: サーバー設定
AudioConfig: 音声設定
ASRConfig: ASR 認識設定
ModelConfig: ASR モデル設定
VADConfig: VAD 設定
LoggingConfig: ログ設定
UploadConfig: ファイルアップロード設定
これらの設定クラスは config/config_manager.py ファイルで定義されています。