HRVC / src /ultimate_rvc /typing_extra.py
SpyC0der77's picture
Upload folder using huggingface_hub
1a942eb verified
"""Extra typing for the Ultimate RVC project."""
from collections.abc import Mapping, Sequence
from enum import IntEnum, StrEnum
from os import PathLike
type StrPath = str | PathLike[str]
type Json = Mapping[str, Json] | Sequence[Json] | str | int | float | bool | None
class SeparationModel(StrEnum):
"""The model to use for audio separation."""
UVR_MDX_NET_VOC_FT = "UVR-MDX-NET-Voc_FT.onnx"
UVR_MDX_NET_KARA_2 = "UVR_MDXNET_KARA_2.onnx"
REVERB_HQ_BY_FOXJOY = "Reverb_HQ_By_FoxJoy.onnx"
class SegmentSize(IntEnum):
"""The segment size to use for audio separation."""
SEG_64 = 64
SEG_128 = 128
SEG_256 = 256
SEG_512 = 512
SEG_1024 = 1024
SEG_2048 = 2048
class F0Method(StrEnum):
"""The method to use for pitch detection."""
RMVPE = "rmvpe"
MANGIO_CREPE = "mangio-crepe"
class SampleRate(IntEnum):
"""The sample rate of an audio file."""
HZ_16000 = 16000
HZ_44100 = 44100
HZ_48000 = 48000
HZ_96000 = 96000
HZ_192000 = 192000
class AudioExt(StrEnum):
"""Audio file formats."""
MP3 = "mp3"
WAV = "wav"
FLAC = "flac"
OGG = "ogg"
M4A = "m4a"
AAC = "aac"