typedef struct { Uint8* buf; Sint32 size; Sint32 maxch; Sint32* libwork; Sint32 extsize[2]; Sint32 devno; Sint32 sfreq; Sint32 bps; Sint32 gain; Sint32 limit; } MWS_REC_CPRM;
buf 使用するバッファへのポインタ size 使用するバッファのサイズ(単位:バイト) maxch 録音する音声のチャンネル数 libwork エンコーダが使用する作業領域 extsize エキストラバッファサイズ(単位:バイト) devno マイクが接続されているデバイス番号 sfreq 録音する音声のサンプリング周波数 bps 録音する音声の量子化ビット数 gain マイクから音声データを取り込む際のゲイン値 limit 録音停止する為の限界値
DualSpeechのためのハンドル生成のパラメータ構造体です。使用するバッファへのポインタ bufは、MWD_REC_CALC_AWORKマクロにより計算された大きさのバッファを確保し、このメンバーに設定します。
使用するバッファのサイズ sizeは、MWD_REC_CALC_AWORKマクロにより計算されたバッファサイズを設定します。 MWD_REC_MIN_AWORK=48は、MWD_REC_CALC_AWORKマクロに設定する最小値で、滞りなく音声を録音するために必要なセクタ数です。
録音する音声のチャンネル数 maxch は、DualSpeechでは 1固定です。
エンコーダが使用する作業領域 libworkは、DualSpeechの録音では、MWD_DLSE_CALC_WORKマクロにより計算されたサイズの領域を確保し、このメンバーに設定します。 MWD_DLSE_CALC_WORKマクロに指定する引数には、生成するハンドルの個数を指定します。
エキストラバッファサイズ extsize[2] は、内部で使用しているバッファにエキストラ領域を必要とする場合にサイズを指定します。 DualSpeechでは指定する必要があります。各コーデック毎の指定方法は、関数仕様・ハンドルの生成の項を参照してください。
録音する音声のサンプリング周波数 sfreq は、DualSpeechの場合はMWD_REC_SFREQ_8KHZ固定です。
録音する音声の量子化ビット数 bps は、DualSpeechではMWD_REC_BPS_16BIT固定です。
マイクから音声データを取り込む際のゲイン値 gain は、下記に示すマクロの範囲のみ有効です。
MWD_REC_GAIN_MAX(16) 〜 MWD_REC_GAIN_MIN(-15)
録音停止する為の限界値 limit は、メモリ上に録音する際、録音を自動停止する為の値です。 DualSpeechではMWD_DLSE_MEMORY_LIMITを指定します。
mwRecCreateDlse()
DualSpeech用ハンドルの生成