feat(music): add audio quality workflow

This commit is contained in:
jxxghp
2026-08-10 10:23:02 +08:00
parent b3b376f2b1
commit 75e56d8e9a
31 changed files with 1085 additions and 12 deletions
+10
View File
@@ -109,6 +109,16 @@ class TransferHistory(BaseModel):
music_type: Optional[str] = None
# 专辑预期总曲目数
total_tracks: Optional[int] = None
# 实际音频格式
audio_format: Optional[str] = None
# 是否无损音频
audio_lossless: Optional[bool] = None
# 实际位深(bit
bit_depth: Optional[int] = None
# 实际采样率(Hz
sample_rate: Optional[int] = None
# 实际码率(bps
bitrate: Optional[int] = None
# 季Sxx
seasons: Optional[str] = None
# 集Exx
+12
View File
@@ -20,6 +20,10 @@ class MusicMeta(BaseModel):
total_tracks: Optional[int] = None
version: Optional[str] = None
audio_format: Optional[str] = None
audio_lossless: Optional[bool] = None
audio_quality: Optional[Literal["hires", "lossless", "lossy"]] = None
audio_quality_score: int = 0
audio_specs: Optional[str] = None
bit_depth: Optional[int] = None
sample_rate: Optional[int] = None
bitrate: Optional[int] = None
@@ -55,6 +59,14 @@ class MusicInfo(BaseModel):
cover_url: Optional[str] = None
lyrics: Optional[str] = None
version: Optional[str] = None
audio_format: Optional[str] = None
audio_lossless: Optional[bool] = None
audio_quality: Optional[Literal["hires", "lossless", "lossy"]] = None
audio_quality_score: int = 0
audio_specs: Optional[str] = None
bit_depth: Optional[int] = None
sample_rate: Optional[int] = None
bitrate: Optional[int] = None
category: Optional[str] = ""
genres: list[str] = Field(default_factory=list)
names: list[str] = Field(default_factory=list)
+29
View File
@@ -48,6 +48,7 @@ class Subscribe(BaseModel):
PUBLIC_WRITE_EXCLUDED_FIELDS: ClassVar[frozenset[str]] = frozenset({
"id", "poster", "backdrop", "vote", "description", "lack_episode", "completed_episode",
"note", "state", "last_update", "username", "current_priority", "episode_priority", "date",
"current_audio_format", "current_bitrate", "current_bit_depth", "current_sample_rate",
})
id: Optional[int] = None
@@ -92,6 +93,16 @@ class Subscribe(BaseModel):
resolution: Optional[str] = None
# 特效
effect: Optional[str] = None
# 音乐音质等级,可用 | 组合 hires/lossless/lossy
audio_quality: Optional[str] = None
# 音频格式正则,如 FLAC|ALAC
audio_format: Optional[str] = None
# 最低码率(bps
min_bitrate: Optional[int] = None
# 最低位深(bit
min_bit_depth: Optional[int] = None
# 最低采样率(Hz
min_sample_rate: Optional[int] = None
# 总集数
total_episode: Optional[int] = 0
# 开始集数
@@ -118,6 +129,14 @@ class Subscribe(BaseModel):
best_version_full: Optional[int] = None
# 当前优先级
current_priority: Optional[int] = None
# 当前音乐版本格式
current_audio_format: Optional[str] = None
# 当前音乐版本码率(bps
current_bitrate: Optional[int] = None
# 当前音乐版本位深(bit
current_bit_depth: Optional[int] = None
# 当前音乐版本采样率(Hz
current_sample_rate: Optional[int] = None
# 洗版时已下载剧集的优先级状态
episode_priority: Optional[Dict[str, int]] = None
# 保存路径
@@ -222,6 +241,16 @@ class SubscribeShare(BaseModel):
resolution: Optional[str] = None
# 特效
effect: Optional[str] = None
# 音乐音质等级
audio_quality: Optional[str] = None
# 音频格式
audio_format: Optional[str] = None
# 最低码率(bps
min_bitrate: Optional[int] = None
# 最低位深(bit
min_bit_depth: Optional[int] = None
# 最低采样率(Hz
min_sample_rate: Optional[int] = None
# 总集数
total_episode: Optional[int] = 0
# 时间
+2
View File
@@ -273,6 +273,8 @@ class SystemConfigKey(Enum):
DefaultMovieSubscribeConfig = "DefaultMovieSubscribeConfig"
# 默认电视剧订阅规则
DefaultTvSubscribeConfig = "DefaultTvSubscribeConfig"
# 默认音乐订阅规则
DefaultMusicSubscribeConfig = "DefaultMusicSubscribeConfig"
# 用户站点认证参数
UserSiteAuthParams = "UserSiteAuthParams"
# Follow订阅分享者