"tests/tokenizers_/test_mistral.py" did not exist on "d9ab1ad9d1be96885f4387a33a3a82233c009ce9"
audio.py 1.06 KB
Newer Older
1
2
# SPDX-License-Identifier: Apache-2.0

3
from dataclasses import dataclass
4
from pathlib import Path
5
from typing import Literal
6
7
from urllib.parse import urljoin

8
import numpy.typing as npt
9

10
11
12
13
14
15
16
17
from vllm.utils import PlaceholderModule

from .base import VLLM_S3_BUCKET_URL, get_vllm_public_assets

try:
    import librosa
except ImportError:
    librosa = PlaceholderModule("librosa")  # type: ignore[assignment]
18
19
20
21
22
23
24
25
26

ASSET_DIR = "multimodal_asset"


@dataclass(frozen=True)
class AudioAsset:
    name: Literal["winning_call", "mary_had_lamb"]

    @property
27
    def audio_and_sample_rate(self) -> tuple[npt.NDArray, float]:
28
29
        audio_path = get_vllm_public_assets(filename=f"{self.name}.ogg",
                                            s3_prefix=ASSET_DIR)
30
        return librosa.load(audio_path, sr=None)
31

32
33
34
35
    def get_local_path(self) -> Path:
        return get_vllm_public_assets(filename=f"{self.name}.ogg",
                                      s3_prefix=ASSET_DIR)

36
37
    @property
    def url(self) -> str:
38
        return urljoin(VLLM_S3_BUCKET_URL, f"{ASSET_DIR}/{self.name}.ogg")