
     i              	       \    d dl mZmZmZmZ d dlmZ deeee   f   dedeeee   f   fdZy)    )AnyCallableTupleUnion)Specificationsspecificationsfuncreturnc                 p    t        | t              r |d| iS t        fdt        | g| D              S )aT  Compute the function using arguments from each of the iterables

    Returns a tuple if provided `specifications` is a tuple,
    otherwise returns the function return value.

    Parameters
    ----------
    specifications : (tuple of) Specifications
        Specifications or tuple of specifications
    func : callable
        Function called for each specification with
        `func(*iterables[i], specifications=specifications[i])`
    *iterables :
        List of iterables with same length as `specifications`.

    Returns
    -------
    output : (tuple of) `func` return value(s)
    r   c              3   2   K   | ]  ^}} |d |i  yw)r   N ).0sir	   s      t/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/pyannote/audio/utils/multi_task.py	<genexpr>z*map_with_specifications.<locals>.<genexpr>9   s$      0Ouq1a""0Os   )
isinstancer   tuplezip)r   r	   	iterabless    ` r   map_with_specificationsr      sC    2 ..1Y>~>> 03N0OY0O      N)typingr   r   r   r   pyannote.audio.core.modelr   r   r   r   r   <module>r      sK   0 / . 4.%*??@
 3c
?	r   