2016-06-11 12 views
2

나는 MP3 파일이 있습니다원시 ID3 태그를 쓰거나 변경 하시겠습니까?

B{ 
    255 251 144 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 110 102 111 0 0 0 15 
    0 0 30 161 0 50 3 66 0 3 5 8 10 13 15 18 20 24 26 28 
    31 33 36 38 41 43 47 49 52 54 56 59 61 64 66 69 72 
    75 77 79 82 84 87 89 92 95 98 100 103 105 107 110 
    112 115 118 ~3277535 more~ 
} 

을 그리고 나는 그것을 넣어하려는 일부 메타 데이터가 있습니다

H{ 
    { "title" "Superstar (feat. Krewella)" } 
    { "artist" "Pegboard Nerds & NGHTMRE" } 
    { "num" 1 } 
} 

팩터 (아직) ID3 태그를 작성하는 어휘가없는, 그러나 원시 파일 데이터와 작성하고 싶은 데이터가 있습니다.

Wikipedia은 도움이되지 않으며, mpg123 소스도 실제로 아무 것도 지우지 않습니다.

어떻게 해시 테이블의 데이터를 ID3v2 헤더에 넣을 수 있습니까?

답변

2

아직 ID3 태그를 작성할 수 없습니다. 그러나 파이썬에는 파이썬 모듈을 래핑하는 기능이 있습니다. 먼저 sudo pip install mutagen 다음 실용적하고자한다면 :

USING: kernel python python.syntax sequences ; 
IN: examples.python.mutagen 

PY-QUALIFIED-FROM: mutagen.easyid3 => EasyID3 (name -- obj) ; 
PY-METHODS: mutagen:easyid3:EasyID3 => 
    __setitem__ (self key value --) 
    save (self --) ; 

: <EasyID3> (str -- easyid3) 
    >py mutagen.easyid3:EasyID3 ; 

: setitem (obj key val --) 
    [ >py ] [email protected] __setitem__ ; 

: update-tags (easyid3 assoc --) 
    dupd [ first2 setitem ] with each save ; 

그런 다음이 같은 ID3 태그를 쓸 수 있습니다 : 물론

[ 
    "/path/to/mp3-file.mp3" <EasyID3> 
    { 
     { "title" "Superstar (feat. Krewella)" } 
     { "artist" "Pegboard Nerds & NGHTMRE" } 
    } update-tags 
] with-destructors 

을 순수 요인에서 그 일을하는 것은 불가능하지 않다. 하지만 mp3 및 id3v1-2 사양을 연구해야합니다.