Не zip

Dec. 4th, 2013 10:24 am
shoorick: (Рыжий)
На сайте prostopleer.com есть, вроде бы, возможность скачать целиком музыкальный альбом. Но потом — сюрприз! — скачавшийся zip-файл вовсе не является ZIP-архивом: ни unzip, ни 7z не желают его открывать. Лишь всемогущий mplayer спокойно играет одну пьесу за другой.

Анализ содержимого показал: в начале архива идёт стандартная сигнатура PK♥♦ (50 4B 03 04), но за ней — имена файлов вместе с мусором и сами файлы, без какого-либо сжатия. Достать музыку из такого файла при наличии перла — легко!
#!/usr/bin/perl -0777 -n

=head1 DESCRIPTION

Split big pseudo zip-archive from prostopleer.com into small mp3 files.

=head1 USAGE

 ./split.pl big-pseudo.zip

=head1 SEE ALSO

L<< https://gist.github.com/shoorick/7785185 >>

=head1 AUTHOR

Alexander Sapozhnikov
L<< http://shoorick.ru/ >>
Lshoorick@cpan.orgE

=cut

binmode(STDIN);

my $divisor = "ID3\x04\x00";
my @chunks = split $divisor;
shift @chunks;

my $i = 1;
foreach my $chunk ( @chunks ) 
    open(my $fh, '<', sprintf('%02d.mp3', $i++))
        or die "cannot open for writing: $!";
    print $fh $divisor, $chunk;
    close $fh;

Оно же — на гитхабе: https://gist.github.com/shoorick/7785185

upd/11.12.13:: Спасибо Игорю Белому [livejournal.com profile] bujhm за наводку — я неделю подкинутую им музыку слушаю, до сих пор нравится и работать не мешает.
shoorick: (Default)
Среди MP3-плееров ситуация, похоже, такая же, как и везде: производители с маркетолухами пытаются впарить клиентам фиговины, где есть куча ненужных функций, но нужных — нет. Вот, например, что мне надо от плеера?
  • Чтобы работал долго, хотя бы часов 20. В идеале — от батареек/аккумуляторов распространённого вида, например, AAA — тогда время работы вообще становится практически неограниченным.
  • Чтобы играл OGG Vorbis, а не только MP3 и WMA (который мне вообще никуда не упёрся). Потому что OGG — это правильно. Да и, в сравнении с MP3, схожее качество можно получить при гораздо меньшем битрейте.
  • Чтобы в нём было много памяти (например, от двух гиг) или чтоб был разъём для дополнительной карточки.
  • Чтобы стоил недорого. Даже учитывая удалённость нашей деревни от Москвы, платить больше 2000 рублей за такую игрушку я не собираюсь.
И чё мы видим, пошерстив Яндекс.Маркет и местные магазины с сотовыми ларьками? Ничё не видим! В лучшем случае, находятся плееры, удовлетворяющие трём критериям из четырёх.
shoorick: (Default)
Глядя в handbook, не вылезая с командной строки, сграбил звук с компакт-диска и перегнал его в mp3. Правда, не удалось сразу тэги выставить: похоже, lame не захотел писать тэги с русскими буквами. Но на этот случай у нас есть EasyTAG.

Кстати, current music звучит весьма неплохо. Мне нравится.
shoorick: (Default)
Ну и что, что mpd сдох? Есть же ещё и mpg123 — вот им и слушаю.
Ну и что, что бубен не найден? Есть ещё и Максим Леонидов с колыбельной мантрой.
Вот с ней-то и будем устраивать make buildkernel KERNCONF=COUNTRY
shoorick: (Default)
гўупый мой ўасковый
current music
Многолетнее занятие пением способствует, с одной стороны, такому развитию речевого аппарата и прилегающего к нему головного мозга, что занимающийся может без особых усилий осознанно картавить, шепелявить и не выговаривать всяких букв. Например, Л, как в уже упомянутом куррентмузыке. С другой стороны, занимающийся, в моменты, когда не прилагает таких усилий, может говорить и петь хорошо и правильно.

P. S. [livejournal.com profile] anyutka и [livejournal.com profile] mcilove привязали ко мне «Ундервуд» — уже вторую неделю слушаю. Злодеи!

P. P. S. Если в MP3 перегнать тэги в UTF-8 (например, когда лень писать скрипт, для этого есть EasyTag) и убрать ID3v1, то mpc и свежий winamp (проверено на 5.5) вполне справляются с русскими буквами.
shoorick: (Default)
Прислушавшись к мнению товарищей [livejournal.com profile] lodin и [livejournal.com profile] bitlz, решил попробовать клиент-серверные методы прослушивания музыки — поставил mpd. И пару клиентов к нему: kmp (гуёвый, под KDE; не понравился) и консольный mpc (играет хорошо, без тормозов). Целый день рулил процессом с командной строки — надоело. Решил оптимизировать: настроить горячие клавиши (я подобными сочетаниями клавиш уже несколько лет в винампе пользовался).

Настроил KDE на вызов по горячим клавишам нужных команд mpc:
  • Win+Space — play/pause — mpc toggle
  • Win+Left — перемотка назад на 10 с — mpc seek -00:00:10
  • Win+Right — перемотка вперёд на 10 с — mpc seek +00:00:10
  • Win+PgUp — предыдущая — mpc prev
  • Win+PgDn — следующая — mpc next


Делается так: kcontrol → Regional & Accessibility → Input Actions, затем создаём акции типа «Keyboard Shortcut -> Command/URL (Simple)», а дальше, в общем-то, очевидно...

Желающие могут навешивание клавиш делать ковырянием файла ~/.kde/share/config/khotkeysrc — в моём случае туда добавилось 136 строк )

Вполне можно жить.
shoorick: (Default)
Amarok тормозит так, что звук икает.
Надоело, закрыл, стал слушать музыку с консоли, с помощью mpg123 — хорошо звучит, без глюков.
shoorick: (Default)
Что-то рабочая машина тормозит. Конечно, она слегка занята: помимо запущенных иксов, файрфокса с тандербёрдом параллельно перегоняется музыка из mp3 в ogg vorbis, компиляется свежая Xara LX, apache и trac обрабатывают запросы, и amarok, заикаясь, пытается петь песни «Несчастного случая».

Работать при этом как-то некомфортно... Чё бы прибить?
shoorick: (Default)
Видя бардак с кодировками ID3-тэгов и помня, что, по стандарту, там не может быть ни UTF-8, ни КОИ-8, нашёл радикальный, но вполне корректный путь: перегнать коллекцию из mp3 в ogg vorbis, где с тэгами нет такого бардака, ибо они всегда в UTF-8. Да и сжатие там получше. Да и формат этот открытый...

Поискал конвертер в портах при помощи make search и, не заметив его в толпе софта, стал писать свой: традиционно, на перле.

Метод — ленивый до безобразия: взять файл, прочитать свойства и тэги (MP3::Info), декодировать звук (mpg123), послав его кодировщику (oggenc), попутно передав тэги, переведённые из windows-1251. Итого — 99 строк, 2 кБ (вместе с развесистыми комментариями). Работает. И называется, чтоб долго не думать, mp32ogg.

А потом выясняется, что в портах уже есть mp32ogg. И делает он то же самое. И тем же самым путём.

Не знаю, может ли он кодировку тэгов менять (ещё не проверял), но это, в общем-то, и не важно, ибо в портах нашёлся mp3unicode.

ЗЫ Но вот железные MP3-плееры да музцентры с магнитолами нечасто ogg понимают...
shoorick: (Default)
Если ID3v2-тэги писать в UTF-8, то amarok их прекрасно видит. И logjam, заметив играющий amarok, прекрасно определяет музыку: пишет слова, а не вопросительные знаки. Только вот виндузовые winamp и wmp нифига UTF-8 не понимают... :-(

Done

Jun. 10th, 2005 02:29 am
shoorick: (Default)
mp3-диск «Лесная площадка — 2004» таки готов.
Ура, товарищи!
Пишу на RW тестовую копию для прогона на бытовом музцентре. Если срастётся — у меня вся ночь впереди на тиражирование.

P. S. А вот обложки-то я забыл настрогать: придётся прямо на поляне печатать..

Profile

shoorick: (Default)
shoorick

December 2016

S M T W T F S
    1 23
45678910
11121314151617
18 19 2021222324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 21st, 2026 12:29 pm
Powered by Dreamwidth Studios