audio_zen/acoustics/beamforming.py
def apply_beamforming_vector(
        beamforming_vector: ComplexTensor,
        mixture: ComplexTensor
) -> ComplexTensor:
    """Apply beamforming weights at frame level

    Args:
        beamforming_vector: beamforming weighted vector with shape of [..., C]
        mixture: mixture of shape [..., C, T]

    Notes:
        There's no relationship between frequencies.

    Returns:
        [..., T]
    """
    # [..., C] x [..., C, T] => [..., T]
    es = FC.einsum("bftc, bfct -> bft", [beamforming_vector.conj(), mixture])
    return es
Apply beamforming weights at frame level

    Args:
        beamforming_vector: beamforming weighted vector with shape of [..., C]
        mixture: mixture of shape [..., C, T]

    Notes:
        There's no relationship between frequencies.

    Returns:
        [..., T]
    
Apply beamforming weights at frame level
Apply beamforming weights at frame level
def apply_beamforming_vector(
        beamforming_vector: ComplexTensor,
        mixture: ComplexTensor
) -> ComplexTensor:
    es = FC.einsum("bftc, bfct -> bft", [beamforming_vector.conj(), mixture])
    return es
def apply_beamforming_vector ( beamforming_vector : ComplexTensor , mixture : ComplexTensor ) -> ComplexTensor : es = FC . einsum ( "bftc, bfct -> bft" , [ beamforming_vector . conj ( ) , mixture ] ) return es
Apply beamforming weights at frame level
Apply beamforming weights at frame level
"""Apply beamforming weights at frame level

    Args:
        beamforming_vector: beamforming weighted vector with shape of [..., C]
        mixture: mixture of shape [..., C, T]

    Notes:
        There's no relationship between frequencies.

    Returns:
        [..., T]
    """ # [..., C] x [..., C, T] => [..., T]
None
beamforming_vector
ComplexTensor
beamforming weighted vector with shape of [..., C]
beamforming weighted vector with shape of [ ... C ]
mixture
ComplexTensor
mixture of shape [..., C, T]
mixture of shape [ ... C T ]