2016-06-11 3 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. Но у python есть и у нас есть поддержка для упаковки модулей Python. Так что если вы готовы быть прагматичным первым 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.

Смежные вопросы