시놀로지 Audio Station
에서 Top 100곡 등 파일 명으로 순서가 관리되는 경우 제대로 표시 할 수 없는 문제가 있습니다. 이때 MP3파일의 ID3 Tag를 지워주면 Audio Station
에 파일명이 노래 제목으로, 폴더명이 앨범명으로 표시되게 됩니다. 하지만 Audio Station
에서는 ID3 Tag를 편집하는 기능을 제공해 주지면 제거 할 수 있는 기능은 제공해주지 않습니다. 그래서 특정 폴더 내의 모든 MP3파일의 ID3 Tag를 지워주는 Script를 만들어서 사용하시면 간단하게 처리 할 수 있습니다.
준비사항
- 패키지 센터에서 Python3, 텍스트 편집기 설치
- PIP 설치
ID3 Tag 조작에 필요한 Python Mutagen 모듈 설치
SSH로 시놀로지NAS에 접속 후 Python mutagen 모듈을 설치하여 줍니다.
1 2 3 4 | ssh myaccount@synologynas.com sudo -i python3 -m pip install mutagen |
Python Script 만들기
시놀로지 텍스트 편집기를 실행 후 아래 코드를 입력 또는 붙여넣기 후 저장하여 줍니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | import os import sys from mutagen.id3 import ID3 from mutagen.id3 import ID3NoHeaderError def removeMP3TagsInDir(dir): removedCount = 0 for file in os.listdir(dir): fullpath = os.path.join(dir, file) if os.path.isdir(fullpath): removedCount += removeMP3TagsInDir(fullpath) else: if file.lower().endswith(".mp3"): try: audio = ID3(fullpath) audio.delete() removedCount += 1 except ID3NoHeaderError: pass return removedCount if __name__ == "__main__": path = None if len(sys.argv) >= 2 and os.path.exists(sys.argv[1]): path = sys.argv[1] if path is not None and os.path.exists(path): count = removeMP3TagsInDir(path) print("Removed MP3 tags: %d" % count) if count > 0: # 색인 재설정 os.system("synoindex -R type_music &") else: print("Error: The path is incorrect (%s)" % path) |
Python Script 사용하기
SSH를 접속해서 아래 명령어를 입력하여 주거나 제어판의 작업 스케줄러어에 추가하여 실행하시면 됩니다.
1 2 | python3 mp3_tag_remover.py "/volume1/music top 100" |