Thay đổi title của file mp3 bằng cách sử dụng Python

Em có một đống (~300 file) các file mp3 chưa có title, tên của file có dạng “A - B” và em muốn title sẽ có dạng là “B”. Em search GG và stackoverflow thấy nên dùng metagen hoặc eyeD3, tuy nhiên các file mp3 của em đều có kí tự unicode (không có kí tự ascii) và em cũng muốn để title là string có các kí tự unicode này. Các bác có cách nào để tạo title mà vẫn ở dạng utf-8 được không ạ?

Bạn tìm phần mềm đổi tên file xem, các phần mềm này cho phép đổi tên hàng loạt và cho phép sử dụng regular experession để tìm và thay thế theo pattern.
Muốn tự code thì lấy tên file dạng A-B rồi split theo “-” sẽ được 2 phần A, B. Gán trở lại file name = B là xong.

1 Like

Bác hiểu nhầm ý em rồi. Em muốn đổi cái title của file mp3 ấy cơ.

Cái đó mình chưa nghiên cứu tới, nó nằm ở trong meta, có phần mềm đặc thù để search (online) và đổi title tự động, chứ đổi theo format có sẵn thì chưa sờ vào.
Bạn google thêm xem có cách programing cái đó không.

Bạn dùng Python 3 là ok nha, Python 2 thì mình test bị vướng lỗi unicode, rất phiền. Nếu bạn cần thì mình code mẫu vì chủ trương của diễn đàn là không dâng code tận răng :joy:. Nếu bạn chưa biết cách sử dụng thì mình code mẫu. Bạn tham khảo mutagen.mp3.EasyMP3.
Gợi ý, dùng tags (là 1 dict mà các keys là string, value là list) trong class mp3.EasyMP3.

1 Like

m thử thấy bình thường mà

Mình cũng thử trên Linux (bash trên Windows và Linux thiệt) thì nó bình thường, nhưng windows thì nó lại báo lỗi không chuyển sang Unicode được cho dù mình setdefaultencoding, change code page, … nên mình quyết định cài python3 và mọi thứ bình thường. Mình cũng không tìm được cách khắc phục lỗi luôn @@

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?