写/更改原始ID3标签?

时间:2016-06-11 14:29:27

标签: id3 id3v2 factor-lang

我有一个MP3文件:

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标头?

1 个答案:

答案 0 :(得分:2)

我们还没有支持编写id3标签。但是python已经支持包装Python模块了。所以如果你愿意先行TIME_WAIT那么务实,那么:

sudo pip install mutagen

然后你可以像这样编写id3标签:

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 ] bi@ __setitem__ ;

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

当然,用纯因子做这件事并非不可能。但你必须研究mp3和id3v1-2规范。