/** * 音声トラックにノイズ抑制処理を適用するためのプロセッサ */ declare class NoiseSuppressionProcessor { private rnnoise?; private trackProcessor?; private processedTrack?; private originalTrack?; /** * 実行環境が必要な機能をサポートしているかどうかを判定します * * "MediaStreamTrack Insertable Streams"が利用可能である必要があります * * @returns サポートされているかどうか */ static isSupported(): boolean; /** * ノイズ抑制処理の適用を開始します * * @param track 処理適用対象となる音声トラック * @param options 各種オプション * @returns 処理適用後の音声トラック * * @remarks * ノイズ抑制用に利用しているRNNoiseというライブラリが、音声フォーマットとして、 * サンプリングレートに48kHz、一フレーム辺りのサンプル数に480を想定しているため、 * 可能であれば、入力音声をこのフォーマットに合わせて設定することを推奨します。 * * また、現時点ではモノラルのみの対応となっており、複数チャンネルを含む音声トラックの場合には、 * 実行時にエラーが送出されます。 */ startProcessing(track: MediaStreamAudioTrack): Promise; /** * ノイズ抑制処理の適用を停止します * * コンストラクタに渡された音声トラックは閉じないので、 * 必要であれば、別途呼び出し側で対処する必要があります */ stopProcessing(): void; /** * ノイズ抑制処理が実行中かどうかを判定します * * @returns 実行中であれば `true` 、そうでなければ `false` */ isProcessing(): boolean; /** * 処理適用前の音声トラックを返します * * これは {@link NoiseSuppressionProcessor.startProcessing} に渡したトラックと等しいです * * {@link NoiseSuppressionProcessor.startProcessing} 呼び出し前、あるいは、 * {@link NoiseSuppressionProcessor.stopProcessing} 呼び出し後には `undefined` が返されます * * @returns 処理適用中の場合は音声トラック、それ以外なら `undefined` */ getOriginalTrack(): MediaStreamAudioTrack | undefined; /** * 処理適用後の音声トラックを返します * * これは {@link NoiseSuppressionProcessor.startProcessing} が返したトラックと等しいです * * {@link NoiseSuppressionProcessor.startProcessing} 呼び出し前、あるいは、 * {@link NoiseSuppressionProcessor.stopProcessing} 呼び出し後には `undefined` が返されます * * @returns 処理適用中の場合は音声トラック、それ以外なら `undefined` */ getProcessedTrack(): MediaStreamAudioTrack | undefined; } export { NoiseSuppressionProcessor };