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

音声テキスト変換 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. ポート番号は 1~65535 の範囲内である必要があります
  2. サンプリングレートは 0 より大きい必要があります
  3. チャンネル数は 1 または 2 である必要があります
  4. 認識のタイムアウト時間は 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"

設定クラスの構成

コード内では、設定は次のデータクラスで管理されます:

  1. AppConfig: アプリケーション全体の設定
  2. ServerConfig: サーバー設定
  3. AudioConfig: 音声設定
  4. ASRConfig: ASR 認識設定
  5. ModelConfig: ASR モデル設定
  6. VADConfig: VAD 設定
  7. LoggingConfig: ログ設定
  8. UploadConfig: ファイルアップロード設定

これらの設定クラスは config/config_manager.py ファイルで定義されています。