Có công cụ nào có thể phát hiện (và nếu có thể, khắc phục) sự cố trong tệp MP3 không? [đóng cửa]


31

Bộ sưu tập của tôi chứa một số MP3 có một số trục trặc như:

  • hiển thị thời lượng sai khi tải
  • nhảy nhỏ
  • đột nhiên kết thúc mặc dù thời lượng yêu cầu một phút nữa
  • tiếng ồn

Tôi đang tìm kiếm một công cụ có thể phát hiện càng nhiều lỗi này càng tốt và khắc phục những lỗi có thể sửa được (rõ ràng là tiếng ồn không thể loại bỏ được trong hầu hết các trường hợp).


Những âm thanh như vấn đề người chơi. Bạn có chắc chắn những nguyên nhân gây ra bởi các tệp MP3 của bạn?
chữ sốxp

@digitxp kết thúc đột ngột có lẽ là do thiếu các phần của tệp, nhưng thời gian hiển thị sai có thể do VLC gây ra. Nhưng điều đó vẫn có nghĩa là có một cái gì đó sai với tệp vì các tệp khác hiển thị thời gian chính xác. Tiếng ồn và nhảy có thể là do đọc CD không tốt, tôi đã số hóa bộ sưu tập của mình mà không thực hiện kiểm tra hai lần: - /
Tobias Kienzler

hm, thời lượng sai có thể xuất phát từ VBR so với CBR ... vì vậy các vấn đề còn lại là không đầy đủ và lỗi đọc CD
Tobias Kienzler

Câu trả lời:


35

Công cụ dòng lệnh mp3val giúp quét nhanh và sửa chữa tùy chọn các lỗi cấu trúc trong các tệp mp3. Tôi cố gắng chạy nó trên hầu hết các tệp trong bộ sưu tập của mình, theo nguyên tắc "không thể làm tổn thương". Nó xác định số lượng đáng kinh ngạc của các tệp tốt có vẻ bề ngoài với các khiếm khuyết từ không quan trọng đến nghiêm trọng.

mp3val đặc biệt tốt trong việc nhận ra và sửa chữa các thiếu sót của tiêu đề, chẳng hạn như thiếu các tiêu đề VBR trong tệp VBR (nguồn gốc của hầu hết các vấn đề về thời lượng và tìm kiếm sai). Nhưng nó cũng sẽ dọn sạch dữ liệu khung âm thanh / rác bị hỏng, hành trình không thể sử dụng mà một số người chơi có thể xử lý ít hơn một cách tao nhã nếu nó còn trong tệp.

Nó thậm chí có thể được yêu cầu chạy trên toàn bộ thư mục của mp3, chỉ sửa chữa những tệp mà nó gặp sự cố, giữ bản sao lưu (hoặc tùy chọn không), giữ dấu thời gian (tùy chọn) và đăng nhập phiên vào tệp văn bản (tùy chọn).

Và nó là nguồn mở và miễn phí! (Liên kết là dự án sourceforge của nó.)

EDIT: Một điều cuối cùng tôi quên đề cập. "Nhưng mp3val chưa được cập nhật từ năm 2009 !!", tôi nghe thấy bạn khóc. Điều đó rất đúng ! Nó đã hoạt động tốt kể từ năm 2009 và không cần cập nhật. (Xét cho cùng, nó không giống như định dạng tệp MP3 đã thay đổi bất kỳ trong 2 năm qua!)


cũng +1 lần thứ hai để bạn chỉnh sửa :-) mặc dù dường như có một số lỗi hợp lệ vẫn mở ...
Tobias Kienzler

1
Vâng, có vẻ như mp3val có một số vấn đề thực sự trong Windows 7 với một số tên tệp bí truyền. Thật không may. (Quy tắc đầu tiên của điện toán hiện đại: mọi bộ sưu tập MP3 đủ lớn sẽ chứa một tệp với bất kỳ dạng tên tệp bí truyền nào.) Nó có thể sử dụng một số luv từ một lập trình viên Windows, nếu có ai đó tùy thuộc vào nó! [OffTopic: Thật bất ngờ khi nhìn vào svn mp3val và phát hiện ra rằng bản vá gần đây nhất đến từ ME - đặc biệt là vì tôi hoàn toàn quên mất việc thực hiện nó! ;-)]
FeRD

1
Thật không may, mp3val không thể sửa một số tệp của tôi :(. Nhưng MP3Diagsđã có thể sửa chúng (tiêu đề Xing trên các tệp VBR dẫn đến thời lượng sai được hiển thị).
scai

@Marecky Điều đó rất lạ. Tôi mới thử mp3valtrên Fedora 28 và nó vẫn chạy tốt. Phần lớn phụ thuộc bí truyền thư viện nó có là một trong hai libm.so.6hoặc libstdc++.so.6, vì vậy nó không giống như một ABI vỡ không tương thích là có khả năng. Tuy nhiên, chỉ để kiểm tra: ở chế độ mặc định của nó mp3val sẽ không chạm vào bất kỳ tệp nào, nó sẽ chỉ thực hiện sửa đổi nếu nó chạy với -fcờ - và thậm chí sau đó, chỉ các tệp trong đó chế độ quét đã ghi WARNING:hoặc ERROR:sẽ được sửa đổi. Nếu nó không phát hiện bất kỳ vấn đề có thể sửa chữa nào, nó sẽ khiến các tệp của bạn không bị ảnh hưởng.
FeRD

1
@FeRD - Bạn nói đúng, hiện tại tôi không nhớ đó là chương trình nào thời gian theo dõi - đó là lý do tại sao tôi nghĩ rằng mp3 có chỉ mục sai (hoặc bất cứ thứ gì có bên trong) và chạy trên chúng mp3val- nhưng các tệp là chính xác - đó là lý do tại sao mp3valkhông bao giờ hiển thị bất kỳ cảnh báo nào và không sửa các tệp. Tôi không biết tại sao người chơi hiển thị thời gian theo dõi sai, tôi sẽ xóa nhận xét trước đó của mình.
Marecky

10

Tôi giả sử bạn đã thử tùy chọn đầu tiên trên google ...? Cũng là một tập lệnh perl, mp3checker , có thể hữu ích.

Chỉnh sửa:

Đối với việc sửa chữa các bản nhạc của bạn có thể cung cấp cho MP3 Diass (liên kết đến bài viết về phao cứu sinh ).


cảm ơn, checkmate là một công cụ tuyệt vời để xác định các tệp vấn đề (vẫn để lại nhiệm vụ sửa chữa mọi thứ nếu có thể)
Tobias Kienzler

1
Thumbs up cho MP3 Diass. Tôi gặp vấn đề với máy nghe nhạc mp3 của tôi không báo cáo chính xác thời lượng. MP3 Diass tìm thấy và khắc phục vấn đề.
David L

4

mpck hoạt động trên Windows và GNU / Linux.

Trang chủ: http://checkmate.gissen.nl/

Nó phát hiện các khung xấu và tạo các báo cáo tùy chọn.
Có một giao diện GUI cho các cửa sổ quá.

mpck 0.19 - checks a MP3 file for errors

Usage: mpck [OPTION]... [FILE]...

Verbosity:
   -v, --verbose        print some extra info
   -q, --quiet          print only Ok or Bad per file
   -B, --badonly        only report bad files
Other options:
   -R, --recursive      check directories recursively
   -e, --extention=EXT  only check files ending on .EXT
   -r                   short for -R -e mp3
   -m, --maxname=NUM    report bad for filenames which exceed NUM characters
   -n, --namecheck      check for strange characters in the filename
   -x, --xmloutput      output results in XML
   -h, --help           print this help, then exit
   -V, --version        print version information

Cập nhật:

Chương trình này dường như hoàn toàn có khả năng xử lý tên tệp utf-8, mặc dù tôi chưa thử glyphs Nhật Bản, Trung Quốc hoặc kỳ lạ hơn.

Gentoo (UTF-8)

$ mpck -r 2000\ -\ Завтрак\ на\ траве\ \(USA\)/  | grep SUM
SUMMARY: 2000 - Завтрак на траве (USA)//04-ja-sbrasyvaju-kozhu.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//07-tak-vot-kakaja-ty-demo.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//09-evrej-i-goj.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//06-teplyj-dozhd'-demo.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//01-vse-napominaet-o-tebe.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//02-marsh-novoselov--sf-unplugged.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//05-rubaha.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//03-kalifornia-love.mp3

Cygwin với ngôn ngữ UTF-8 (ngôn ngữ Nhật Bản trong windows)
Cửa sổ nhị phân tự nhiên không biết về Cygwin nên tôi phải chuyển đổi đầu ra.

$ mpck.exe -r "2000 - Завтрак на траве (USA)" | grep 'SUM' | 
       iconv -f CP932 -t UTF-8
SUMMARY: 2000 - Завтрак на траве (USA)\04-ja-sbrasyvaju-kozhu.mp3          
SUMMARY: 2000 - Завтрак на траве (USA)\07-tak-vot-kakaja-ty-demo.mp3       
SUMMARY: 2000 - Завтрак на траве (USA)\09-evrej-i-goj.mp3                  
SUMMARY: 2000 - Завтрак на траве (USA)\06-teplyj-dozhd'-demo.mp3          
SUMMARY: 2000 - Завтрак на траве (USA)\01-vse-napominaet-o-tebe.mp3        
SUMMARY: 2000 - Завтрак на траве (USA)\02-marsh-novoselov--sf-unplugged.mp3
SUMMARY: 2000 - Завтрак на траве (USA)\05-rubaha.mp3                     
SUMMARY: 2000 - Завтрак на траве (USA)\03-kalifornia-love.mp3            

Cảm ơn, mặc dù điều đó đã được đề cập trong câu trả lời này
Tobias Kienzler

mpck! = mp3check. Tôi có lầm không?
Ярос mặc dù chúng tôi làm việc vào

Không, đó là liên kết có nhãn "tùy chọn đầu tiên trên google". Nhưng dù sao +1 vì bạn đã xây dựng một chút về chức năng của nó
Tobias Kienzler

Ô đung rôi. Tôi bỏ qua điều đó. Tôi sẽ kiểm tra mp3val, nhưng cho đến nay mpck đã có thể làm tất cả những gì tôi cần từ trình kiểm tra mp3.
Ярос mặc dù chúng tôi làm việc vào

2
Trên Linux, tôi không cần phải áp dụng bất kỳ cách giải quyết nào cho mp3val - AFAICT lỗi được tham chiếu là một vấn đề chỉ dành cho Windows. (Chức năng Dù nó sử dụng cho phân tích cú pháp dòng lệnh hoặc xử lý tên tập tin không phải là Unicode-an toàn.) Dưới Linux, tôi chỉ tay hư hỏng (do zeroing ra khối ngẫu nhiên với ghex) các tập tin mp3 đổi tên như sau: Tësting 1.mp3 Testíng ®eally hµrd.mp3 ☭They don't get much weirder☭.mp3... mp3val không có rắc rối xử lý chính xác tất cả chúng.
FeRD

0

Đơn giản hơn là sử dụng ffmpeg để sao chép tệp từ tệp có thời lượng bị lỗi trong thẻ ID3. Điều này khiến nó viết thông tin chính xác.

ffmpeg -i "audio.mp3" -acodec copy "audio_fixed.mp3"

Bởi vì nó sử dụng bản sao, nó mất một phần thời gian để mã hóa ban đầu. Điều này hầu như không đáng chú ý với một bài hát, nhưng bạn thực sự đánh giá cao nó với một audiobook 7 giờ. Sau khi mã hóa lại, các thẻ ID3 hiện có thông tin chính xác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.