実装済みノードの仕様
====================================

.. cpp:class:: AudioStreamFromMemory

    取得したデータ列を、指定した音声データパラメータに従って出力する。
    データ列が非同期的に不定形サイズで入力される場合に、そのバッファリングと切り出しを行う。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - INPUT
          - data
          - n/a
          - 入力となるデータ。data の実体は ``std::vector<short>`` 型のオブジェクトでなければならない。
        * - SAMPLING_RATE
          - int
          - 16000
          - 入力および出力のサンプリング周波数。[Hz]
        * - SAMPLE_BITS
          - int
          - 16
          - 入力の量子化ビット数。
        * - CHANNEL_COUNT
          - int
          - 1
          - 入力および出力のチャネル数。
        * - LENGTH
          - int
          - 512
          - 出力あたりのフレーム数。実際の出力は、次元数 (CHANNEL_COUNT, LENGTH) の行列となる。
        * - ADVANCE
          - int
          - 160
          - 出力間のフレーム数。
        * - USE_WAIT
          - bool
          - false
          - true の場合、 SAMPLING_RATE と ADVANCE の値に従い、出力のタイミングを実録音の場合に合わせる。
        
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - AUDIO
          - data
          - 出力となるデータ。data の実体は ``hark::Matrix<float>`` である。

.. cpp:class:: AudioStreamFromWave

    入力ストリームから WAV ファイルを読み込み、指定した音声データパラメータに従って出力する。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - INPUT
          - data
          - n/a
          - 入力となるデータ。data の実体は ``std::istream`` 型のポインタでなければならない。
        * - LENGTH
          - int
          - 512
          - 出力あたりのフレーム数。実際の出力は、次元数 (CHANNEL_COUNT, LENGTH) の行列となる。ここで、 CHANNEL_COUNT は読み込んだ WAV ファイルのフォーマット情報による。
        * - ADVANCE
          - int
          - 160
          - 出力間のフレーム数。
        * - USE_WAIT
          - bool
          - false
          - true の場合、 SAMPLING_RATE と ADVANCE の値に従い、出力のタイミングを実録音の場合に合わせる。
        
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - AUDIO
          - data
          - 出力となるデータ。data の実体は ``hark::Matrix<float>`` である。
        * - NOT_EOF
          - bool
          - 読み込んでいるファイルの終端に達したか否か。達していなければ true 、達していれば false 。

.. cpp:class:: ChannelSelector

    入力のチャネルのうち、指定したチャネルのみを抽出して出力する。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - INPUT
          - data
          - n/a
          - 入力となるデータ。data の実体は ``hark::Matrix<float>`` 型または ``hark::Matrix<std::comples<float>>`` 型のオブジェクトでなければならない。
        * - SELECTOR
          - string
          - n/a
          - 詳細については HARK Document を参照。
        
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - OUTPUT
          - data
          - 出力となるデータ。data の実体は INPUT による。

.. cpp:class:: Constant

    一定の値を常に出力する。
    より正確には、入力をそのまま出力するノードである。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - VALUE
          - data
          - n/a
          - 入力のデータ。data の実体は任意。
        
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - OUTPUT
          - data
          - 出力となるデータ。data の実体は INPUT による。

.. cpp:class:: Delta

    詳細については `HARK Document <https://www.hark.jp/document/hark-document-ja/>`_ を参照。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - INPUT
          - data
          - n/a
          - 入力のデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<float>`` でなければならない。詳細については HARK Document を参照。
        * - FBANK_COUNT
          - int
          - 41
          - 詳細については HARK Document を参照。
        
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - OUTPUT
          - data
          - 出力となるデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<float>`` である。詳細については HARK Document を参照。

.. cpp:class:: FeatureRemover

    詳細については `HARK Document <https://www.hark.jp/document/hark-document-ja/>`_ を参照。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - INPUT
          - data
          - n/a
          - 入力のデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<float>`` でなければならない。詳細については HARK Document を参照。
        * - SELECTOR
          - string
          - n/a
          - 詳細については HARK Document を参照。
        
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - OUTPUT
          - data
          - 出力となるデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<float>`` である。詳細については HARK Document を参照。

.. cpp:class:: InputStream

    詳細については `HARK Document <https://www.hark.jp/document/hark-document-ja/>`_ を参照。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - INPUT
          - string
          - n/a
          - 読み込みを行うファイルのパス。
        
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - OUTPUT
          - data
          - 出力となるデータ。data の実体は ``std::istream *`` である。

.. cpp:class:: MSLSExtraction

    詳細については `HARK Document <https://www.hark.jp/document/hark-document-ja/>`_ を参照。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - FBANK
          - data
          - n/a
          - 入力のデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<float>`` でなければならない。詳細については HARK Document を参照。
        * - SPECTRUM
          - data
          - n/a
          - 入力のデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<float>`` でなければならない。詳細については HARK Document を参照。
        * - FBANK_COUNT
          - int
          - 13
          - 詳細については HARK Document を参照。
        * - NORMALIZATION_MODE
          - string
          - CEPSTRAL
          - 詳細については HARK Document を参照。
        * - USE_LEGACY_MODE
          - bool
          - true
          - 詳細については HARK Document を参照。
        * - USE_HTK_LIFTER
          - bool
          - false
          - 詳細については HARK Document を参照。
        * - LIFTERING_COEF
          - int
          - 22
          - 詳細については HARK Document を参照。
        * - USE_POWER
          - bool
          - false
          - 詳細については HARK Document を参照。
        
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - OUTPUT
          - data
          - 出力となるデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<float>`` である。詳細については HARK Document を参照。

.. cpp:class:: MelFilterBank

    詳細については `HARK Document <https://www.hark.jp/document/hark-document-ja/>`_ を参照。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - FBANK
          - data
          - n/a
          - 入力のデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<float>`` でなければならない。詳細については HARK Document を参照。
        * - LENGTH
          - int
          - 512
          - 詳細については HARK Document を参照。
        * - SAMPLING_RATE
          - int
          - 16000
          - 詳細については HARK Document を参照。
        * - CUTOFF
          - int
          - 8000
          - 詳細については HARK Document を参照。
        * - MIN_FREQUENCY
          - int
          - 63
          - 詳細については HARK Document を参照。
        * - MAX_FREQUENCY
          - int
          - 8000
          - 詳細については HARK Document を参照。
        * - FBANK_COUNT
          - int
          - 13
          - 詳細については HARK Document を参照。
        
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - OUTPUT
          - data
          - 出力となるデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<std::complex<float>>`` である。詳細については HARK Document を参照。


.. cpp:class:: MultiFFT

    詳細については `HARK Document <https://www.hark.jp/document/hark-document-ja/>`_ を参照。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - INPUT
          - data
          - n/a
          - 入力のデータ。data の実体は ``hark::Matrix<float>`` でなければならない。詳細については HARK Document を参照。
        * - LENGTH
          - int
          - 512
          - 詳細については HARK Document を参照。
        * - WINDOW
          - string
          - CONJ
          - 詳細については HARK Document を参照。
        * - WINDOW_WIDTH
          - int
          - 512
          - 詳細については HARK Document を参照。
        
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - OUTPUT
          - data
          - 出力となるデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<std::complex<float>>`` である。詳細については HARK Document を参照。

.. cpp:class:: MultiGain

    詳細については `HARK Document <https://www.hark.jp/document/hark-document-ja/>`_ を参照。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - INPUT
          - data
          - n/a
          - 入力のデータ。data の実体は ``hark::Matrix<float>`` でなければならない。詳細については HARK Document を参照。
        * - GAIN
          - float
          - 1.0
          - 詳細については HARK Document を参照。
        
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - OUTPUT
          - data
          - 出力となるデータ。data の実体は ``hark::Matrix<float>`` である。詳細については HARK Document を参照。

.. cpp:class:: PreEmphasis

    詳細については `HARK Document <https://www.hark.jp/document/hark-document-ja/>`_ を参照。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - INPUT
          - data
          - n/a
          - 入力のデータ。data の実体は  ``std::map<int, data>`` であり、 value にあたる data の実体は、 INPUT_TYPE が WAV の場合は ``std::vector<float>`` 、 INPUT_TYPE が SPECTRUM の場合は ``std::vector<std::complex<float>>`` でなければならない。詳細については HARK Document を参照。
        * - LENGTH
          - int
          - 512
          - 詳細については HARK Document を参照。
        * - SAMPLING_RATE
          - int
          - 16000
          - 詳細については HARK Document を参照。
        * - PREEMCOE
          - float
          - 0.97
          - 詳細については HARK Document を参照。
        * - INPUT_TYPE
          - string
          - WAV
          - 詳細については HARK Document を参照。
        
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - OUTPUT
          - data
          - 出力となるデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は、 INPUT_TYPE が WAV の場合は ``std::vector<float>`` 、 INPUT_TYPE が SPECTRUM の場合は ``std::vector<std::complex<float>>`` である。詳細については HARK Document を参照。

.. cpp:class:: PublishData

    ユーザが、HARK音響ライブラリのミドルウェア部を介さずにデータを投入するためのノード。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - n/a
          - n/a
          - n/a
          - n/a
        
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - OUTPUT
          - data
          - 出力となるデータ。data の実体はユーザが ``push`` メソッドによって投入した値による。

.. cpp:class:: SaveFeatures

    詳細については `HARK Document <https://www.hark.jp/document/hark-document-ja/>`_ を参照。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - FEATURES
          - data
          - n/a
          - 入力のデータ。data の実体は  ``std::map<int, data>`` であり、 value にあたる data の実体は、 ``std::vector<float>`` でなければならない。詳細については HARK Document を参照。
        * - SOURCES
          - data
          - n/a
          - 入力のデータ。data の実体は  ``std::vector<data>`` であり、 要素となる data の実体は、 ``Source`` でなければならない。詳細については HARK Document を参照。
        * - BASENAME
          - string
          - n/a
          - 詳細については HARK Document を参照。
        
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - n/a
          - n/a
          - n/a

.. cpp:class:: SaveWavePCM

    詳細については `HARK Document <https://www.hark.jp/document/hark-document-ja/>`_ を参照。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - INPUT
          - data
          - n/a
          - 入力のデータ。data の実体は  ``std::map<int, data>`` であり、 value にあたる data の実体は、 ``std::vector<float>`` でなければならない。詳細については HARK Document を参照。
        * - SOURCES
          - data
          - n/a
          - 入力のデータ。data の実体は  ``std::vector<data>`` であり、 要素となる data の実体は、 ``Source`` でなければならない。詳細については HARK Document を参照。
        * - ENABLE
          - bool
          - true
          - 詳細については HARK Document を参照。
        * - BASENAME
          - string
          - "sep_"
          - 詳細については HARK Document を参照。
        * - ADVANCE
          - intｔ
          - 160
          - 詳細については HARK Document を参照。
        * - SAMPLING_RATE
          - intｔ
          - 16000
          - 詳細については HARK Document を参照。
        * - BITS
          - string
          - "int16"
          - 詳細については HARK Document を参照。
        * - INPUT_BITS
          - string
          - "as_BITS"
          - 詳細については HARK Document を参照。
        
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - n/a
          - n/a
          - n/a

.. cpp:class:: SemiBlindICA

    詳細については `HARK Document <https://www.hark.jp/document/hark-document-ja/>`_ を参照。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - INPUT
          - data
          - n/a
          - 入力のデータ。data の実体は ``hark::Matrix<std::complex<float>>``  である。詳細については HARK Document を参照。
        * - REFERENCE
          - data
          - n/a
          - 入力のデータ。data の実体は ``hark::Matrix<std::complex<float>>``  である。詳細については HARK Document を参照。
        * - CHANNEL
          - int
          - 1
          - 詳細については HARK Document を参照。
        * - LENGTH
          - int
          - 512
          - 詳細については HARK Document を参照。
        * - INTERVAL
          - int
          - 1
          - 詳細については HARK Document を参照。
        * - TAP_LOWERFREQ
          - int
          - 8
          - 詳細については HARK Document を参照。
        * - TAP_UPPERFREQ
          - int
          - 4
          - 詳細については HARK Document を参照。
        * - DECAY
          - float
          - 0
          - 詳細については HARK Document を参照。
        * - MU_FILTER
          - float
          - 0.01
          - 詳細については HARK Document を参照。
        * - MU_REFERENCE
          - float
          - 0.01
          - 詳細については HARK Document を参照。
        * - MU_UNKNOWNSIGNAL
          - float
          - 0.01
          - 詳細については HARK Document を参照。
        * - IS_ZERO
          - float
          - 0.0001
          - 詳細については HARK Document を参照。
        * - FILE_FILTER_IN
          - string
          - ""
          - 詳細については HARK Document を参照。
        * - FILE_FILTER_OUT
          - string
          - ""
          - 詳細については HARK Document を参照。
        * - OUTPUT_FREQ
          - int
          - 150
          - 詳細については HARK Document を参照。
        
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - OUTPUT
          - data
          - 出力となるデータ。data の実体は ``hark::Matrix<std::complex<float>>`` である。詳細については HARK Document を参照。
                    
.. cpp:class:: SpectralMeanNormalizationIncremental

    詳細については `HARK Document <https://www.hark.jp/document/hark-document-ja/>`_ を参照。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - INPUT
          - data
          - n/a
          - 入力のデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<float>`` でなければならない。詳細については HARK Document を参照。
        * - SM_HISTORY
          - data
          - n/a
          - 入力のデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<data>`` であり、要素となる data の実体は ``std::vector<float>`` でなければならない。詳細については HARK Document を参照。
        * - NOT_EOF
          - bool
          - n/a
          - 詳細については HARK Document を参照。
        * - FBANK_COUNT
          - int
          - 13
          - 詳細については HARK Document を参照。
        * - PERIOD
          - int
          - 20
          - 詳細については HARK Document を参照。
        * - SM_ALGORITHM
          - string
          - INCREMENTAL
          - 詳細については HARK Document を参照。
        * - SM_FILENAME
          - string
          - (空文字)
          - 詳細については HARK Document を参照。
        * - SM_HISTORY_FILENAME
          - string
          - (空文字)
          - 詳細については HARK Document を参照。
        * - IGNORE_FRAMES
          - bool
          - false
          - 詳細については HARK Document を参照。
        * - BASENAME
          - string
          - smn\_
          - 詳細については HARK Document を参照。
        * - OUTPUT_NAME
          - string
          - out.txt
          - 詳細については HARK Document を参照。
        * - SM_EXPORT_FILANAME
          - string
          - (空文字)
          - 詳細については HARK Document を参照。
        * - SM_EXPORT_ALGORITHM
          - string
          - LAST_SRC
          - 詳細については HARK Document を参照。

    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - OUTPUT
          - data
          - 出力となるデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<float>`` である。詳細については HARK Document を参照。

.. cpp:class:: SubscribeData

    ユーザが、HARK音響ライブラリのミドルウェア部を介さずにデータを受け取るためのノード。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - INPUT
          - data
          - n/a
          - 入力のデータ。data の実体は任意である。入力されたデータは、 ``SubscribeData::receive`` の引数としてユーザに渡される。
          
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - n/a
          - n/a
          - n/a


.. cpp:class:: Synthesize

    詳細については `HARK Document <https://www.hark.jp/document/hark-document-ja/>`_ を参照。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - INPUT
          - data
          - n/a
          - 入力のデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<std::complex<float>>`` または ``Matrix<std::complex<float>>``` でなければならない。詳細については HARK Document を参照。
        * - LENGTH
          - int
          - 512
          - 詳細については HARK Document を参照。
        * - ADVANCE
          - int
          - 160
          - 詳細については HARK Document を参照。
        * - SAMPLING_RATE
          - int
          - 16000
          - 詳細については HARK Document を参照。
        * - MIN_FREQUENCY
          - int
          - 125
          - 詳細については HARK Document を参照。
        * - MAX_FREQUENCY
          - int
          - 7900
          - 詳細については HARK Document を参照。
        * - WINDOW
          - string
          - "HAMMING"
          - 詳細については HARK Document を参照。
        * - OUTPUT_GAIN
          - float
          - 1.0
          - 詳細については HARK Document を参照。
          
    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - OUTPUT
          - data
          - 出力となるデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<float>`` である。詳細については HARK Document を参照。

.. cpp:class:: VADZC

    詳細については `HARK Document <https://www.hark.jp/document/hark-document-ja/>`_ を参照。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - INPUT
          - data
          - n/a
          - 入力のデータ。data の実体は ``hark::Matrix<float>`` でなければならない。詳細については HARK Document を参照。
        * - ADVANCE
          - int
          - 160
          - 詳細については HARK Document を参照。
        * - LENGTH
          - int
          - 512
          - 詳細については HARK Document を参照。
        * - CHANNEL_COUNT
          - int
          - 0
          - 詳細については HARK Document を参照。
        * - SAMPLING_RATE
          - int
          - 16000
          - 詳細については HARK Document を参照。
        * - STRIP_ZERO
          - bool
          - true
          - 詳細については HARK Document を参照。
        * - ZERO_MEAN
          - bool
          - false
          - 詳細については HARK Document を参照。
        * - LEVEL_THRESHOLD
          - int
          - 2000
          - 詳細については HARK Document を参照。
        * - ZEROCROSS_THRESHOLD
          - int
          - 60
          - 詳細については HARK Document を参照。
        * - HEAD_MARGIN
          - int
          - 300
          - 詳細については HARK Document を参照。
        * - TAIL_MARGIN
          - int
          - 400
          - 詳細については HARK Document を参照。
        * - SPLIT_PERIOD
          - float
          - 0
          - 発話区間が長時間に渡る場合に、それらを仮想的に SPLIT_PERIOD ミリ秒ごとに分割して出力する。この値が 0 である場合には、分割を行わない。

    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - OUTPUT
          - data
          - 出力となるデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<float>`` である。詳細については HARK Document を参照。
        * - SOURCES
          - data
          - 出力となるデータ。data の実体は ``std::vector<data>`` であり、要素である data の実体は ``Source`` である。詳細については :ref:`Sourceによる音源情報の管理` を参照。

.. cpp:class:: VADPyAnnote

    PyAnnote を用いて VAD 処理を行う。

    .. list-table:: 入力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 既定値
          - 意味
        * - INPUT
          - data
          - n/a
          - 入力のデータ。data の実体は ``hark::Matrix<float>`` でなければならない。詳細については HARK Document の VADZC の記述を参照。
        * - ADVANCE
          - int
          - 160
          - 入力となる音声データにつき、 何フレームおきに到達するかを表す値。
        * - LENGTH
          - int
          - 512
          - 入力となる音声データにつき、 一度に何フレームぶん到達するかを表す値。
            入力音声データのうち、 (LENGTH - ADVANCE) フレーム分は、直前の処理で入力された音声データと重複することになる。
        * - CHANNEL_COUNT
          - int
          - 0
          - 入力音声データのチャネル数。入力音声データは、 次元数が (LENGTH, CHANNEL_COUNT) の行列となる。
        * - SAMPLING_RATE
          - int
          - 16000
          - 入力音声データのサンプリング周波数。[Hz]
        * - INITIAL_NORMALIZATION_MEAN
          - data
          - <0 0 0 0>
          - 内部正規化処理に用いる平均の初期値。data の実体は ``std::vector<float>`` でなければならない。
        * - INITIAL_NORMALIZATION_STDDEV
          - data
          - <1 1 1 1>
          - 内部正規化処理に用いる標準偏差の初期値。data の実体は ``std::vector<float>`` でなければならない。
        * - INITIAL_NORMALIZATION_SAMPLE_COUNT
          - data
          - <0 0 0 0>
          - 内部正規化処理に用いるサンプル数の初期値。data の実体は ``std::vector<int>>`` でなければならない。
        * - ONSET_SCORE_THRESHOLD
          - int
          - 1.0
          - 発話がないとされる状態から、発話があるとする状態へ遷移する際に用いる、pyannote スコアの閾値。
        * - OFFSET_SCORE_THRESHOLD
          - int
          - 0.5
          - 発話があるとされる状態から、発話がないとする状態へ遷移する際に用いる、pyannote スコアの閾値。
        * - HEAD_MARGIN
          - int
          - 300
          - 発話区間として出力される音声区間の始点を、発話があったとみなされた時点を基準として、その何ミリ秒前とするか。
        * - TAIL_MARGIN
          - int
          - 400
          - 発話区間として出力される音声区間の終点を、発話が終わったとみなされた時点を基準として、その何ミリ秒後とするか。
        * - SPLIT_PERIOD
          - float
          - 0
          - 発話区間が長時間に渡る場合に、それらを仮想的に SPLIT_PERIOD ミリ秒ごとに分割して出力する。この値が 0 である場合には、分割を行わない。

    .. list-table:: 出力
        :align: left
        :widths: auto

        * - 名前
          - 型
          - 意味
        * - OUTPUT
          - data
          - 出力となるデータ。data の実体は ``std::map<int, data>`` であり、value にあたる data の実体は ``std::vector<float>`` である。
        * - SOURCES
          - data
          - 出力となるデータ。data の実体は ``std::vector<data>`` であり、要素である data の実体は ``Source`` である。 ``Source`` の詳細については :ref:`Sourceによる音源情報の管理` を参照。
