MediaPulse Studio

Quản lý Thư viện, So sánh Timeline & ID3v2.4 Tag Editor

Phát Bài Hát & Nghệ Sĩ Thời Lượng Thao Tác
{{ t.title }}
{{ art }} {{ t.version_tag }}
{{ formatDuration(t.duration_sec) }}

Không tìm thấy bài hát nào trong thư viện

Hãy nhấn "Bắt đầu Quét Đa Tầng" tại tab Kiểm toán để hệ thống lập chỉ mục các file.

Hiển thị {{ libraryTracks.length }} / {{ libraryTotal }} bài hát
Trang {{ Math.floor(libOffset / libLimit) + 1 }}
Các Kho Đang Hoạt Động ({{ buckets.length }})
{{ b.name }} {{ b.permission_status }}

{{ b.path }}

{{ b.total_files }} files
Trùng Lặp
{{ stats.duplicate_groups }} nhóm phát hiện
File Hỏng / Ảo
{{ stats.corrupted_groups }} <50KB hoặc 00:00
Beat / Karaoke
{{ stats.beat_groups }} bản thu tách lời
Đề xuất giải phóng
{{ stats.estimated_freed_mb }} MB ({{ stats.files_to_delete }} files)
Bước: {{ progress.current_step }} Kho: {{ progress.current_bucket }} {{ progress.processed_files }} / {{ progress.total_files }} files
Hiển thị {{ groups.length }} nhóm kết quả
{{ grp.group.group_type }}

{{ grp.group.title_summary }}

{{ grp.group.artist_summary }}
{{ grp.group.confidence_score }}%
Chất lượng cao nhất {{ getBucketName(it.bucket_id) }} {{ it.file_path }}
{{ it.format }} • {{ it.bitrate_kbps }} kbps • {{ formatDuration(it.duration_sec) }} • {{ (it.file_size_kb / 1024).toFixed(2) }} MB Cover 1:1 Điểm: {{ it.quality_score }}

Chưa có kết quả audit nào

Hãy thêm kho lưu trữ và nhấn "Bắt đầu Quét Đa Tầng" để phân tích toàn diện thư viện.

{{ currentPlayingTrack.title }}
{{ currentPlayingTrack.artist || 'Unknown' }}
{{ currentPlayingTrack.format || currentPlayingTrack.file_ext }} {{ currentPlayingTrack.bitrate_kbps }} kbps
{{ formatDuration(audioCurrentTime) }} {{ formatDuration(audioDuration) }}

So Sánh Trực Quan Timeline & Đánh Dấu Lệch (A/B)

Nghe thẩm âm, nhảy nhanh tới các điểm chênh lệch âm thanh giữa 2 bản thu

BẢN A ({{ timelineData.format_a || 'AUDIO' }})
{{ timelineData.track_a?.title }}
{{ timelineData.track_a?.artist }}
{{ timelineData.bitrate_a }} kbps • {{ formatDuration(timelineData.duration_a) }} • {{ (timelineData.track_a?.file_size_kb / 1024).toFixed(2) }} MB
BẢN B ({{ timelineData.format_b || 'AUDIO' }})
{{ timelineData.track_b?.title }}
{{ timelineData.track_b?.artist }}
{{ timelineData.bitrate_b }} kbps • {{ formatDuration(timelineData.duration_b) }} • {{ (timelineData.track_b?.file_size_kb / 1024).toFixed(2) }} MB
Chuyển đổi ngay lập tức giữa Bản A và Bản B tại cùng 1 vị trí giây đang phát
TIMELINE TRỰC QUAN {{ formatDuration(audioCurrentTime) }} / {{ formatDuration(maxTimelineDur) }}
{{ formatDuration(m.time_sec) }}
Các Điểm Khác Nhau Được Phát Hiện (Click Để Nhảy Nghe)
{{ formatDuration(m.time_sec) }}
{{ m.label }}
{{ m.description }}

Chỉnh Sửa Thẻ Bài Hát (ID3v2.4 / Vorbis)

Ghi đè trực tiếp vào file vật lý trên đĩa và cập nhật Navidrome

Gợi ý Metadata từ Apple Music & MusicBrainz
Đề xuất tốt nhất (Nhấn 'Áp Dụng' để điền ngay vào các ô):
{{ sug.title }}
{{ (sug.artists_list || [sug.artist]).join(', ') }} • {{ sug.album }} ({{ sug.year || 'N/A' }})
{{ sug.source }} {{ sug.match_score }}% match
{{ editForm.artists_chips.length }} nghệ sĩ
{{ art }} Chưa có nghệ sĩ nào. Hãy gõ tên bên dưới để thêm.
{{ dbArt.name }}
{{ dbArt.track_count }} bài trong kho

Toàn bộ nghệ sĩ trong kho đã được lưu vào DB. Hệ thống sẽ ghi chuẩn đa nghệ sĩ (TPE1, TXXX:ARTISTS) cho Navidrome.

So Sánh Ngang Side-by-Side & Kéo Thả Thẻ

{{ selectedSideBySideGroup.group.group_type }} ({{ selectedSideBySideGroup.group.confidence_score }}% match)

Giao diện đối sánh hàng ngang. Kéo thả trực tiếp thuộc tính hoặc ảnh bìa giữa 2 bên, hoặc bấm nút mũi tên để chuyển nhanh.

THUỘC TÍNH
A BẢN A ({{ sideAData.format?.toUpperCase() }}) AI đề xuất giữ
{{ sideAData.file_name }}
Tất cả
B BẢN B ({{ sideBData.format?.toUpperCase() }}) AI đề xuất giữ
{{ sideBData.file_name }}
Ảnh Bìa (Cover Art) ⚠️ Khác biệt ảnh bìa
Trống
Kéo sang B
{{ sideAData.has_cover ? 'Có ảnh bìa HD' : 'Chưa có ảnh bìa' }}
Kéo thả ảnh sang Bản B
Trống
Kéo sang A
{{ sideBData.has_cover ? 'Có ảnh bìa HD' : 'Chưa có ảnh bìa' }}
Thả ảnh bìa A vào đây
Tên bài hát (Title) ⚠️ Khác biệt tiêu đề
{{ sideAData.title }}
{{ sideBData.title }}
Nghệ sĩ (Artists) ⚠️ Khác biệt nghệ sĩ
{{ a }}
{{ a }}
Album & Năm ⚠️ Khác biệt Album
{{ sideAData.album || 'Single' }} ({{ sideAData.year }})
{{ sideBData.album || 'Single' }} ({{ sideBData.year }})
Chất Lượng Âm Thanh
{{ sideAData.format }} {{ sideAData.bitrate_kbps }} kbps
{{ sideAData.sample_rate || 44100 }} Hz +{{ sideAData.bitrate_kbps - sideBData.bitrate_kbps }} kbps vượt trội
VS
{{ sideBData.format }} {{ sideBData.bitrate_kbps }} kbps
{{ sideBData.sample_rate || 44100 }} Hz +{{ sideBData.bitrate_kbps - sideAData.bitrate_kbps }} kbps vượt trội
Thời Lượng & Dung Lượng
{{ formatDuration(sideAData.duration_sec) }} {{ (sideAData.file_size_kb / 1024).toFixed(2) }} MB
VS
{{ formatDuration(sideBData.duration_sec) }} {{ (sideBData.file_size_kb / 1024).toFixed(2) }} MB
Kho & Đường Dẫn File
{{ getBucketName(sideAData.bucket_id) || 'Kho mặc định' }}
{{ sideAData.file_path }}
{{ getBucketName(sideBData.bucket_id) || 'Kho mặc định' }}
{{ sideBData.file_path }}

Toàn Bộ Thông Tin Bài Hát

Không có ảnh bìa
{{ selectedDetailTrack.file_ext || selectedDetailTrack.format }} {{ selectedDetailTrack.version_tag }} Có ảnh bìa HD Điểm AI: {{ selectedDetailTrack.quality_score }}

{{ selectedDetailTrack.title }}

{{ art }}
{{ selectedDetailTrack.album || 'Single' }} ({{ selectedDetailTrack.year }})
Tốc độ Bitrate {{ selectedDetailTrack.bitrate_kbps }} kbps
Thời Lượng Chuẩn {{ formatDuration(selectedDetailTrack.duration_sec) }} ({{ selectedDetailTrack.duration_sec }}s)
Dung Lượng File {{ (selectedDetailTrack.file_size_kb / 1024).toFixed(2) }} MB ({{ selectedDetailTrack.file_size_kb }} KB)
Tần Số Lấy Mẫu {{ selectedDetailTrack.sample_rate || 44100 }} Hz
Kênh Âm Thanh {{ selectedDetailTrack.channels === 1 ? 'Mono (1)' : 'Stereo (2)' }}
Kho Lưu Trữ {{ getBucketName(selectedDetailTrack.bucket_id) || 'Kho mặc định' }}
Đường Dẫn Vật Lý Máy Chủ (Host Path):
{{ selectedDetailTrack.file_path }}

Quản Lý Các Kho Lưu Trữ (Buckets)

Cấu hình và cấp quyền đường dẫn từng kho trực tiếp tại giao diện

Thêm Kho Lưu Trữ Mới

{{ newBucketTestResult.message }}

Danh Sách Kho Hiện Tại ({{ buckets.length }})

Chưa có kho nào được cấu hình.
{{ b.name }} {{ b.permission_status }} Đã tắt
{{ b.path }} {{ b.total_files }} files • Quét gần nhất: {{ b.last_scanned_at ? formatDate(b.last_scanned_at) : 'Chưa quét' }}

{{ sysStatus.is_initialized ? 'Tài khoản Quản trị Admin' : 'Khởi tạo Mật khẩu Admin' }}

Xác nhận Can thiệp Dữ liệu

Yêu cầu xác thực Admin Gate trước khi can thiệp ổ đĩa

Số file sẽ bị xoá: {{ stats.files_to_delete }} files
Dung lượng ước tính giải phóng: {{ stats.estimated_freed_mb }} MB

Chuẩn hoá Thẻ Navidrome (ID3v2.4 & Vorbis)