NAME

adintool - multi-purpose tool to record/split/send/receive speech data

SYNOPSIS

adintool -in inputdev -out outputdev [options...]

DESCRIPTION

adintool は,音声波形データ中の音声区間の検出および記録 を 連続的に行うツールです.入力音声に対して零交差数と振幅レベ ルに基づく音声区間検出を逐次行い,音声区間部分を連続出力し ます. adintool は adinrec の高機能版です.音声データの入力元とし て,マイク入力・音声波形ファイル・標準入力・ネットワーク入 力(adinnet サーバーモード)が選択できます.また,出力先とし て,音声波形ファイル・標準出力・ネットワーク 出 力(adinnet ク ラ イ アントモード)が選択できます.特にネットワーク出力 (adinnet クライアントモード)では, julius へネットワーク 経由で音声を送信して音声認識させることができます. 入力音声は音声区間ごとに自動分割され,逐次出力されます.音 声区間の切り出しには adinrec と同じ,一定時間内の零交差 数 とパワー(振幅レベル)のしきい値を用います.音声区間開始と 同時に音声出力が開始されます.出力としてファイル出力を選ん だ場合は,連番ファイル名で検出された区間ごとに保存します. サンプリング周波数は任意に設定可能です.形式は 16bit mono- ral です.書き出されるデータ形式は RAW, 16bit, big endian です.既に同じ名前のファイルが存在する場合は上書きします.

INPUT

音声を読み込む入力デバイスは以下のうちどれかを指定します. -in mic マイク入力(デフォルト). -in file 音声波形ファイル.形式は RAW (16bit big endian) ,WAV(無圧縮)など(コンパイル時の設定による). な お,入力ファイル名は起動後に,プロンプトに対して 入力する. -in adinnet adinnet サーバーとなってネットワーク経由で adinnet クライアントから音声データを受け取る. adinnet クラ イアントからのTCP/IP接続を待ち,接続が確立した後 は adinnet クライアントから音声データを受け取る. ポ ート番号のデフォルトは 5530 である.これはオプシ ョン "-port" で変更可能. -in stdin 標準入力.音声データ形式は RAW, WAV のみ.

OUTPUT

検出した音声区間の音声データを書き出す出力デバイスとして, 以下のうちどれかを指定します. -out file フ ァ イ ルへ出力する.出力ファイル名は別のオプショ ン"-filename foobar" の形で与える.実際に は "foo- bar.0000" , "foobar.0001" ... のように区間ごとに, 指定した名前の末尾に4桁のIDをつけた名前で記録されな る. ID は 0 を初期値として,音声区間検出ごとに1増 加する.初期値はオプション "-startid" で変更可能 で あ る . また,出力ファイル形式は RAW, 16bit signed (big endian) である. -out adinnet adinnet クライアントとなって,ネットワーク 経 由 で adinnet サーバへ音声データを送る.入力の時とは逆に , adintool は adinnet クライアントとなり ,adinnet サ ーバーへ接続後,音声データを送信する.adinnet サ ーバーとしては, adintool および Julius のadinnet入 力が挙げられる. "-server" で送信先のadinnetサーバのホスト名を指定す る.またポート番号のデフォルトは 5530 である.こ れ はオプション "-port" で変更可能. -out stdout 標 準 出力へ出力する.形式は RAW, 16bit signed (big endian) である.

OPTIONS

-nosegment 入力音声に対して音声区間の検出を行わず,そのまま 出 力 へリダイレクトする.ファイル出力の場合,ファイル 名の末尾に4桁のIDは付与されなくなる. -oneshot 入力開始後,一番最初の1音声区間のみを送信後,終 了 する. -freq threshold サンプリング周波数.単位は Hz (default: 16000) -lv threslevel 波 形 の振幅レベルのしきい値 (0 - 32767).(default: 3000). -zc zerocrossnum 1秒あたりの零交差数のしきい値 (default: 60) -headmargin msec 音声区間開始部の直前のマージン . 単 位 は ミ リ 秒 (default: 400) -tailmargin msec 音 声 区 間 終 了 部 の直後のマージン.単位はミリ秒 (default: 400) -nostrip 無効な 0 サンプルの自動除去を行わないようにする.デ フォルトは自動除去を行う.

EXAMPLE

マ イクからの音声入力を,発話ごとに "data.0000" から順に記 録する: % adintool -in mic -out file -filename data 巨大な収録音声ファイル "foobar.raw"を音声区間ごとに "foo- bar.1500" "foobar.1501" ... に分割する: % adintool -in file -out file -filename foobar -startid 1500 (起動後プロンプトに対してファイル名を入力) enter filename->foobar.raw ネットワーク経由で音声ファイルを転送する(区間検出なし): [受信側] % adintool -in adinnet -out file -nosegment [送信側] % adintool -in file -out adinnet -server hostname -nosegment マイクからの入力音声を別サーバーの Julius に送る: (1) 入力データを全て送信し,Julius側で区間検出・認識: [Julius] % julius -C xxx.jconf ... -input adinnet [adintool] % adintool -in mic -out adinnet -server hostname -nosegment (2) 入力データはクライアント(adintool)側で区間検出し,検出 した区間だけを順に Julius へ送信・認識: [Julius] % julius -C xxx.jconf ... -input adinnet [adintool] % adintool -in mic -out adinnet -server hostname

SEE ALSO

julius(1), adinrec(1)

BUGS

バグ報告・問い合わせ・コメントな ど は julius@kuis.kyoto- u.ac.jp までお願いします.

AUTHORS

李 晃伸 (奈良先端大) が実装しました.

LICENSE

Julius の使用許諾に準じます.

Last modified: 2002/09/11 21:01:05